尚硅谷大数据技术之Hadoop(HDFS)第8章 HDFS HA高可用
8.3.5 启动HDFS-HA集群
- 在各个JournalNode节点上,输入以下命令启动journalnode服务
sbin/hadoop-daemon.sh start journalnode
- 2. 在[nn1]上,对其进行格式化,并启动
bin/hdfs namenode -format
sbin/hadoop-daemon.sh start namenode
- 3. 在[nn2]上,同步nn1的元数据信息
bin/hdfs namenode -bootstrapStandby
- 4. 启动[nn2]
sbin/hadoop-daemon.sh start namenode
- 查看web页面显示,如图3-21,3-22所示
- 6. 在[nn1]上,启动所有datanode
sbin/hadoop-daemons.sh start datanode
- 7. 将[nn1]切换为Active
bin/hdfs haadmin -transitionToActive nn1
- 查看是否Active
bin/hdfs haadmin -getServiceState nn1
8.3.6 配置HDFS-HA自动故障转移
- 1. 具体配置
(1)在hdfs-site.xml中增加
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
(2)在core-site.xml文件中增加
<property>
<name>ha.zookeeper.quorum</name>
<value>hadoop102:2181,hadoop103:2181,hadoop104:2181</value>
</property>
- 2. 启动
(1)关闭所有HDFS服务:
sbin/stop-dfs.sh
(2)启动Zookeeper集群:
bin/zkServer.sh start
(3)初始化HA在Zookeeper中状态:
bin/hdfs zkfc -formatZK
(4)启动HDFS服务:
sbin/start-dfs.sh
(5)在各个NameNode节点上启动DFSZK Failover Controller,先在哪台机器启动,哪个机器的NameNode就是Active NameNode
sbin/hadoop-daemin.sh start zkfc
- 3. 验证
(1)将Active NameNode进程kill
kill -9 namenode的进程id
(2)将Active NameNode机器断开网络
service network stop