本節目的:搭建Hadoop分布式集群環境
- 環境准備
- LZ用OS X系統 ,安裝兩台Linux虛擬機,Linux系統用的是CentOS6.5;Master Ip:10.211.55.3 ,Slave Ip:10.211.55.4

- 各虛擬機環境配置好Jdk1.8(1.7+即可)


- 資料准備
- hadoop-2.7.3.tar.gz
- 虛擬機配置步驟
- 以下操作都在兩台虛擬機 root用戶下操作,切換至root用戶命令

- 配置Master hostname 為Master ;
vi /etc/sysconfig/network

- 生效hostname
hostname master
檢測主機名是否修改成功命令如下,在操作之前需要關閉當前終端,重新打開一個終端:即可看到終端命令前是[user@hostname]
- 按照步驟6+7 配置Slave hostname 為 Slave;
- 關閉Slave防火牆
service iptables stop

- 各虛擬機配置hosts列表,
vi /etc/hosts
添加內容(LZ master Ip是10.211.55.3,Salve Ip 是10.211.55.4)
-

- 驗證
ping slave ping master如圖表示修改成功
-

- 免密鑰登錄配置(此部分操作均在用戶mfz下操作,切換至用戶:su mfz)
- Master節點上操作:
ssh-keygen -t rsa (多次回車(Enter)即可)
-

-
復制公鑰文件
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
-
執行 ll查看

-
修改authorized_keys文件的權限,命令如下:
chmod 600 ~/.ssh/authorized_keys (執行后文件權限為 -rw------- ) -
將authorized_keys文件復制到slave節點,命令如下:
scp ~/.ssh/authorized_keys mfz@slave:~/ (如果提示輸入yes/no的時候,輸入yes,回車密碼是mfz slave登錄密碼)
- slave節點上操作
- 在終端生成密鑰,命令如下(一路點擊回車生成密鑰)
ssh-keygen -t rsa
將authorized_keys文件移動到.ssh目錄
mv authorized_keys ~/.ssh/
- 修改authorized_keys文件的權限,命令如下:
cd ~/.ssh
chmod 600 authorized_keys - 驗證免密鑰登錄 ,在master節點上執行命令如下
ssh slave
如果還提示輸入slave登錄密碼則配置出錯。檢查步驟。
- Master節點上操作:
- Hadoop配置
-
每個節點上的Hadoop配置基本相同,在HadoopMaster節點操作,然后完成復制到另一個節點。下面所有的操作都使用mfz用戶,切換mfz用戶的命令是:su mfz
- 資源包上傳到 /home/mfz/resources/下
-
- 執行命令,最后如果顯示目錄如下圖則表示操作成功
-
cp /home/mfz/resources/hadoop-2.7.3.tar.gz /home/mfz/ cd /home/mfz tar -xzvf hadoop-2.7.3.tar.gz ll hadoop-2.7.3

- 修改配置環境變量hadoop-env.sh 環境變量
vi /home/mfz/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
-
配置hdfs-site.xml,添加\替換 如下
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> - 配置core-site.xml ,添加\替換 如下
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/mfz/hadoopdata</value> <description>A base for other temporary directories.</description> </property> </configuration> - 修改yarn-env.sh 環境變量
vi yarn-env.sh

- 配置yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master:18040</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:18030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:18025</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master:18141</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:18088</value> </property> </configuration> -
配置計算框架mapred-site.xml
cp mapred-site.xml.template mapred-site.xml vi mapred-site.xm --添加/替換 如下 <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
- 修改slaves文件,插入slave 節點hostname (可配置多個slave)
vi /home/mfz/hadoop-2.7.3/etc/hadoop/slaves cat /home/mfz/hadoop-2.7.3/etc/hadoop/slaves

-
復制到從節點(使用下面的命令將已經配置完成的Hadoop復制到從節點HadoopSlave上) (可復制到多個slave)
cd scp -r hadoop-2.7.3 slave:~/
--注意:因為之前已經配置了免密鑰登錄,這里可以直接遠程復制。
-
- 運行驗證-啟動Hadoop集群
- 該節的配置需要同時在兩個節點(HadoopMaster和HadoopSlave)上進行操作
- 操作命令如下:(LZ 環境變量統一放在了/etc/profile 下,也可放於單個用戶~/.base_profile 下)
cd vi /etc/profile 添加如下內容 #HADOOP export HADOOP_HOME=/home/mfz/hadoop-2.7.3 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH 生效配置 source /etc/profile
-
創建數據目錄(該節的配置需要同時在兩個節點(HadoopMaster和HadoopSlave)上進行操作。)
-
cd
mkdir hadoopdata
說明:(在用戶mfz主目錄下操作,此hadoopData目錄是hadoop-2.7.3/etc/hadoop/core-site.xml 中hadoop.tmp.dir 的 value) - 格式化文件系統 ---格式化命令如下,該操作需要在HadoopMaster節點上執行:
hdfs namenode -format

- 如果出現ERROR/Exception 則表示出現問題了。自行百度解決。。。
- Master節點上啟動hadoop 集群
cd /home/mfz/hadoop-2.7.3/ sbin/start-all.sh

在master的終端執行jps命令,在打印結果中會看到4個進程,分別是ResourceManager、Jps、NameNode和SecondaryNameNode,如下圖所示。如果出現了這4個進程表示主節點進程啟動成功。

在slave的終端執行jps命令,在打印結果中會看到3個進程,分別是NodeManager、DataNode和Jps,如下圖所示。如果出現了這3個進程表示從節點進程啟動成功。

驗證啟動結果
-
-
驗證1:Web UI查看集群是否成功啟動,在Master上啟動Firefox瀏覽器,在瀏覽器地址欄中輸入輸入http://master:50070/,檢查namenode 和datanode 是否正常。UI頁面如下圖所示。


-
驗證2: 在Master上啟動Firefox瀏覽器,在瀏覽器地址欄中輸入輸入http://master:18088/,檢查Yarn是否正常,頁面如下圖所示。

- 驗證3:mfz用戶下輸入如下命令,得到結果最后輸出'Job Finished in 72.742 seconds Estimated value of Pi is 3.20000000000000000000'則表示操作成功。
-
cd cd hadoop-2.7.3/share/hadoop/mapreduce/ hadoop jar hadoop-mapreduce-examples-2.7.3.jar pi 10 10


- 以上3個步驟驗證都沒有問題的話表示你成功完成了Hadoop分布式集群搭建。:)

