IP | Domain | Name Node | Journal Node | ZKFC | Data Node/Node Manager | zookeeper | Resource Node | History Server |
---|---|---|---|---|---|---|---|---|
192.168.10.100 | hadoop-100 | nn1(hdfs-ha1) | Y | Y | ||||
192.168.10.101 | hadoop-101 | Y | Y | |||||
192.168.10.102 | hadoop-102 | nn3(hdfs-ha2) | Y | Y | Y | |||
192.168.10.103 | hadoop-103 | nn2(hdfs-ha1) | Y | Y | rm103(yarn-cluster) | Y | ||
192.168.10.104 | hadoop-104 | nn4(hdfs-ha2) | Y | Y | Y | rm104(yarn-cluster) |
创建$HADOOP_HOME/data/hadoop_tmp_dir、$HADOOOP_HOME/data/journal_node和$HADOOP_HOME/data/nodemanager_local_dirs目录
qjournal://hadoop-101:8485;hadoop-102:8485;hadoop-104:8485/namespace-hdfs-ha1
改为
qjournal://hadoop-101:8485;hadoop-102:8485;hadoop-104:8485/namespace-hdfs-ha2
hadoopp-daemon.sh start journalnode
在nn1执行
hdfs namenode -format
hadoop-daemon.sh start namenode
查看ClusterID,在nn1执行
cat $HADOOP_HOME/data/hadoop_tmp_dir/dfs/name/current/VERSION
cat $HADOOP_HOME/data/dfs/name/current/VERSION
hdfs namenode -format -clusterid <Cluster ID>
hadoop-daemon.sh start namenode
在nn2和nn4执行
hdfs namenode -bootstrapStandby
在nn1和nn3执行
hadoop-daemon.sh stop namenode
在nn1,nn2,nn3和nn4执行
hdfs zkfc -formatZK
在nn1,nn2,nn3和nn4启动zkfc
hadoop-daemon.sh start zkfc
在nn1执行
start-dfs.sh
在任意一台一台服务器执行
hdfs dfs -fs hdfs://hadoop-100:9000 -mkdir /tmp
hdfs dfs -fs hdfs://hadoop-102:9000 -mkdir /data
在任意一台服务器执行
start-yarn.sh
在hadoop-103执行
mr-jobhistory-daemon.sh start historyserver
注:这里假设hadoop-100和hadoop-102中的NameServer是active状态。