本文主要是介绍hdfs2.x HA搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
官档:http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html
node01免秘钥控制node02、node03、node04
node02免秘钥控制node01 zkfc自动故障转移 原因:若nn01 active 挂了 需要把nn02 standby 提升为active
把生成的公钥添加到认证文件中去 ssh localhost 验证免秘钥登录自身
node02
node01
在node02上免秘钥控制node01
删除红框内的 4dd
配置点:
1.逻辑到物理的映射 nameservice 到nn 到物理节点
即:hdfs-site.xml
<property><name>dfs.nameservices</name><value>mycluster</value>
</property>
<property><name>dfs.ha.namenodes.mycluster</name><value>nn1,nn2</value>
</property>
<property><name>dfs.namenode.rpc-address.mycluster.nn1</name><value>node01:8020</value>
</property>
<property><name>dfs.namenode.rpc-address.mycluster.nn2</name><value>node02:8020</value>
</property>
<property><name>dfs.namenode.http-address.mycluster.nn1</name><value>node01:50070</value>
</property>
<property><name>dfs.namenode.http-address.mycluster.nn2</name><value>node02:50070</value>
</property>
2.集群的通信方式 share edits dir
即:hdfs-site.xml
<property><name>dfs.namenode.shared.edits.dir</name><value>qjournal://node01:8485;node02:8485;node03:8485/mycluster</value>
</property>
<property><name>dfs.namenode.shared.edits.dir</name><value>/var/sxt/hadoop/ha/jn</value>
</property>
3.故障的切换方式
即:hdfs-site.xml
<property><name>dfs.client.failover.proxy.provider.mycluster</name><value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property><name>dfs.ha.fencing.methods</name><value>sshfence</value>
</property>
<property><name>dfs.ha.fencing.ssh.private-key-files</name><value>/root/.ssh/id_dsa</value>
</property>
4.自动化
即:hdfs-site.xml
<property><name>dfs.ha.automatic-failover.enabled</name><value>true</value></property>
----------------------zk集群
node02
新增server1 2 3配置
node03 node04同理
配置前 先分发
node04同理
zk路径加入到path
在任意位置可以启动zk集群
node02
node03
此时查看node02的状态
此时查看node03的状态
验证zk集群
起journalnode集群
node02 node03同理
启动前 第一台NN格式化
启动第一台NN
注意:第二台NN不能格式化 根据官档用如上命令
如上图即为同步信息成功
zkfc格式化zk集群 目的:生成前缀路径 防止数据覆盖
再次查看node04 多了 hadoop-ha
启动hdfs集群
再次查看node04
jps 查看node01 node02 node03 node04 各个进程即角色
hdfs-ha集群即搭建完成!
验证:
干掉第一台的NN
node04上观察
第二台NN变成了active
干掉第二台的zkfc 自动故障转移进程
则第一台NN又变成了active
------------EOF----------------------------------EOF----------------------EOF--------------------
这篇关于hdfs2.x HA搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!