這裏的集羣只是一個單點登陸的集羣,沒有作到正真的HA高可用,只是一個namenode節點多個datanode節點html
我這裏準備用三個節點機做演示,使用hadoop-2.9.0版本java
hadoop是java語言寫的,運行hadoop依賴jvm,須要先安裝jdk,配置環境變量JAVA_HOME
,三個節點上環境和安裝目錄需一致node
[root@localhost hadoop]# echo $JAVA_HOME /data/software/jdk1.8.0_121
http://hadoop.apache.org/rele...,將安裝包上傳到10.100.101.127機器上,解壓shell
# 使用secureCRT客戶端工具上傳 rz -bye tar -zxvf hadoop-2.9.0.tar.gz
修改配置文件(6個),配置文件在$HADOOP_HOME/etc/hadoop/文件夾下apache
export JAVA_HOME=/data/software/jdk1.8.0_121
``` <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://172.18.113.120:9000</value> </property> </configuration> ```
``` <configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <!-- 默認爲true,經過主機名配置,若是是經過ip配置,這裏須要配置false --> <name>dfs.namenode.datanode.registration.ip-hostname-check</name> <value>false</value> </property> </configuration> ```
``` <configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>10.100.101.127</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> ```
``` # 這個配置文件默認沒有,可是有個模板能夠參考 [root@localhost hadoop]# cp mapred-site.xml.template mapred-site.xml ``` ``` <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ```
這裏配置的是datanode節點,一個節點佔一行,hadoop將這個文件改爲了`workers` ``` 10.100.101.127 10.100.102.127 10.100.103.127 ```
配置ssh免登陸ssh
經過namenode自動啓動datanote,因此要配置namenode經過ssh鏈接datanode不須要密碼,若是namenode節點同時擔任一個datanode節點,那麼也要配置namenode在ssh本身的時候也要免密碼登陸jvm
# 一路回車 ssh-keygen ssh-copy-id 10.100.102.127 ssh-copy-id 10.100.103.127 ssh-copy-id 10.100.101.127
複製文件給其餘節點,啓動集羣工具
# 把配置好的hadoop給其餘兩個節點各複製一份,注意jdk環境要一致 scp -r hadoop-2.9.0 10.100.102.127:///home/ scp -r hadoop-2.9.0 10.100.103.127:///home/ # 首次啓動須要先在 Master 節點執行 NameNode 的格式化,以後的啓動不須要再去進行: bin/hdfs namenode -format # 啓動dfs Default HTTP port is 50070 sbin/start-dfs.sh # 啓動yarn Default HTTP port is 8088 sbin/start-yarn.sh # 啓動jobhistory Default HTTP port is 19888. sbin/mr-jobhistory-daemon.sh start historyserve # 經過命令 hdfs dfsadmin -report 查看 DataNode 是否正常啓動 bin/hdfs dfsadmin -report ... Live datanodes (3): ...
查看進程oop
# namenode上的進程數10.100.101.127 # jps 24496 DataNode 25107 NodeManager 24358 NameNode 24998 ResourceManager 25494 JobHistoryServer 24679 SecondaryNameNode 25591 Jps 22442 Bootstrap # datanode上的進程數10.100.102.127/10.100.103.127 # jps 24657 Jps 24338 DataNode 24518 NodeManager 23342 Bootstrap
關閉集羣一樣也是在Master節點上執行code
$stop-yarn.sh $stop-dfs.sh $mr-jobhistory-daemon.sh stop historyserver
參考文獻: