Zookeeper协调HDFS的HA

x33g5p2x  于2021-03-14 发布在 HDFS  
字(1.7k)|赞(0)|评价(0)|浏览(163)

一、Zookeeper配置自动故障转移

  • 上述的HA NameNodes即使Active NameNode挂掉了也不会自动触发故障转移,需要我们手动进行故障转移。
  • 接下来就来讲讲如何使用Zookeeper让上述HA NameNodes实现自动故障转移。

:-:

[danger] 前提:确保Zookeeper集群已经搭建完毕

[info] (1)在3台Zookeeper节点上分别执行以下命令启动Zookeeper服务:

# Zookeeper启动命令
zkServer.sh start

[info] (2)停止整个HDFS-HA集群(我们NameNode在bigdata1和bigdata2,就停这两台机器)

# 1.停止HDFS的NameNode命令,分别在bigdata1和bigdata2操作
hadoop-daemon.sh stop namenode

[info] (3)在bigdata1增加:hdfs-site.xml增加如下信息:

#配置信息
<property>
   <name>dfs.ha.automatic-failover.enabled</name>
   <value>true</value>
   <description>开启NameNode失败自动故障转移</description>
</property>

[info] (4)在bigdata1增加:core-site.xml增加如下信息:

#配置信息
<property>
   <name>ha.zookeeper.quorum</name>
   <value>bigdata1:2181,bigdata2:2181,bigdata3:2181</value>
   <description>ZKFailoverController 自动故障转移所使用的ZK服务器列表</description>
</property>

[info] (5)拷贝bigdata1服务器的 hdfs-site.xml 和 core-site.xml 到bigdata2和bigdata3

# 1.进入配置文件目录
cd /data/module/hadoop-2.7.3/etc/hadoop

# 2.拷贝到 bigdata2
scp hdfs-site.xml 192.168.46.112:/data/module/hadoop-2.7.3/etc/hadoop
scp core-site.xml 192.168.46.112:/data/module/hadoop-2.7.3/etc/hadoop

# 3.拷贝到 bigdata3
scp hdfs-site.xml 192.168.46.113:/data/module/hadoop-2.7.3/etc/hadoop
scp core-site.xml 192.168.46.113:/data/module/hadoop-2.7.3/etc/hadoop

[info] (6)在ZooKeeper上创建一个用来存储自动故障转移数据的znode,在任意NameNode 上执行如下命令完成znode创建

# 1.在bigdata1主机上执行如下命令
hdfs zkfc -formatZK

[success] 至此,自动故障转移就算是配置完成了

[info] (7)HA集群启动

配置了自动故障转移后,执行start-dfs.sh脚本将会在那些运行NameNode的机器上自动启动一个ZKFC守护进程,
在ZKFC启动的过程中,它们会自动地选择一个NameNode作为Acitve NameNode。

[success] (1)自动选举ACITVE的NameNode,有可能是bigdata1或者bigdata2

# 在bigdata1里启动HDFS集群
start-dfs.sh

[success] (2)关闭处于Active状态的机器NameNode,查看是否会自动切换备用NameNode

# 关闭NameNode命令
hadoop-daemon.sh stop namenode

相关文章

最新文章

更多