1. 程式人生 > >hadoop安裝

hadoop安裝

簡介 系統 官方文檔 lock tsl star tfs replica 控制

曾經的學習筆記

1.Hadoop簡介:

a) 分布式存儲系統HDFS

  1. 分布式存儲系統
  2. 提供了高可靠性、高擴展性和高吞吐率的數據存儲服務

b) 分布式計算框架MapReduce

  1. 分布式計算框架
  2. 具有易用編程、高容錯性和高擴展性等優點

2.HDFS優點:

a) 高容錯性

b) 適合批處理

c) 適合大數據處理

d) 可構建在廉價機器上

3.HDFS的缺點:

a) 低延遲數據訪問

b) 小文件存取

c) 並發寫入、文件隨機修改

4.HDFS架構:

a) NameNodeNN元數據) 保存著 HDFS 的名字空間

  1. 接受客戶端的讀寫服務
  2. 保存metadata信息包括
    1. 文件owership
      permissions
    2. 文件包含那些快
    3. Block保存在那個datanode
  3. NameNodemetadata信息在啟動後加載到內存
    1. Metadata存儲到磁盤文件名為”fsImage”
    2. Block位置信息不會保存到fsImage
    3. Edits記錄對metadata的操作日誌

b) SecondaryNameNode

  1. 不是NN的備份(但可以做備份),主要工作是幫助NN合並editslog,減少NN啟動時間
  2. SNN執行合並時機

c) DataNode(存放數據)

5.HDFS文件權限

a) Linux文件權限類似,rwx,權限x對於文件忽略,對文件夾表示允許訪問

b) HDFS用戶認證:

  1. Simple:只認證用戶,不驗證密碼
  2. KerBeros:認證用戶名跟密碼:
    1. 數據安全,但是速度比較慢
    2. 每添加一臺機器,需要重置用戶密碼,不利於維護

6.安全模式

7.安裝Hadoop

a) Windows下解壓hadoop-2.5.2.tar.gz

b) 查看官方文檔:\hadoop-2.5.2\share\doc\hadoop\index.html

c) 按官方文檔搭建偽分布式:Single Node Setup-->Pseudo-Distributed Operation

d) 安裝所需要環境yum install -y ssh rsync

e) hadoop-2.5.2.tar.gz上傳到

/usr/local/temp/

f) 解壓並移動目錄mv -r hadoop-2.5.2 /usr/local/hadoop

g) 修改配置環境 vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh

技術分享

h) /usr/local/hadoop下測試命令:bin/hadoop

i) 搭建偽分布式操作;修改文件內容:

  1. vim/usr/local/hadoop/etc/hadoop/core-site.xml

<configuration>

<property>

<name> fs.defaultFS </ name>

<value> hdfs:// localhost:9000 </ value>

</ property>

</ configuration>

  1. vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml

<configuration>

<property>

<name> dfs.replication </ name>

<value> 1 </ value>

</ property>

</ configuration>

j) 格式化文件系統:bin/hdfs namenode -format

k) 啟動NameNodedatanode守護程序:sbin/start-dfs.sh

8.HDFS安裝:

a) 上傳tar包,解壓並移動到/usr/local/hadoop

b) 配置用戶環境變量:vim ~/.bash_profile,配置javaHadoop的目錄,重新加載配置

技術分享

c) 進入Hadoop文件夾下修改Hadoop環境配置:vim etc/hadoop/hadoop-env.sh

技術分享

d) 修改核心配置:vim etc/hadoop/core-site.xml

技術分享

e) 修改hdfs配置文件:vim etc/hadoop/hdfs-site.xml

技術分享

f) 配置Hadoop數據存儲節點:vim etc/hadoop/sales

技術分享

g) 設置免密登錄:ssh

  1. 生成公鑰:ssh-keygen
  2. ~/.ssh目錄下拷貝公鑰到其他節點:ssh-copy-id -i id_rsa.pub [email protected]

h) 拷貝hosts文件到其他所有節點:scp /etc/hosts [email protected]:/etc/

i) node2節點中監控/etc/hoststail -f /etc/hosts

j) 拷貝~/.bash_profile文件到其他所有節點:

scp ~/.bash_profile [email protected]:~/.bash_profile

k) 拷貝hadoop文件夾拷貝到其他節點中:

scp -r /usr/local/hadoop [email protected]:/usr/local

l) 格式化HDFS: hdfs namenode -format(註意符號)必須在主節點上

m) 在主節點上啟動 start-dfs.sh

測試:192.168.189.3:50070瀏覽器連接

編程:192.168.189.3:9000

如果啟動有問題,看日誌文件tail -10 /usr/local/hadoop/logs/

9.操作hdfs文件系統

a) hdfs dfs put 上傳

b) hadoop-deamon.sh restart datanode重啟單個節點

c) stop-dfs.sh

10.導入eclipseHadoop插件

11.Java控制hdfs

a) 創建項目

b) 導入jar

hadoop安裝