Hadoop集群 手动主备切换 (Active - Standby)

手动切换 node01 备用节点 StandbyNameNode 为 主节点 ActiveNameNode,node02为备用节点SNN
方案一:命令切换

查看节点状态

hdfs haadmin -getServiceState nn1

命令切换节点状态
到 hadoop 目录下执行:

1、将 NN2 切换为 Standby 备用节点
bin/hdfs haadmin -transitionToStandby --forcemanual nn2
2、将 NN1 切换为 Active 备用节点
bin/hdfs haadmin -transitionToActive --forcemanual nn1

方案二:利用 ZKFC 自动故障转移

思路
Hadoop 2.0x 提供了 Failover Controller(故障转移控制器)
对 NameNode 的主备切换进行总体控制,能及时检测到 NameNode 的健康状况
在主 NameNode 故障时借助 Zookeeper 实现自动的主备选举和切换

当 ZKFC 检测出 ActiveNameNode 故障时,会切换备用节点为主节点 ,并修改主备节点的状态

Standby NameNode:NN的备用节点
他和主节点 ANN 做同样的工作,但是它不会发出任何指令
1
2
操作流程
1、关闭 主节点 ANN 的 NameNode 节点

kill -9 进程号

等待一会,ZKFC 检测出 主节点 NameNode 失联后,就会进行启动备用节点为主节点

查看 node01 的节点状态,此时备用节点 已经切换为主节点 ANN

2、再将关闭的 NameNode 节点启动

单独启动NameNode节点命令

sbin/hadoop-daemon.sh start namenode

查看 node02 的节点状态,此时节点状态已经切换为备用节点

底线。。。。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/weixin_51967583/article/details/121435007

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hadoop集群可以搭建双Namenode,达到高可用性和容错性。下面是搭建双Namenode的步骤: 1. 安装Hadoop集群,参考官方文档。 2. 在Hadoop配置文件hdfs-site.xml中,增加以下配置: ``` <property> <name>dfs.namenode.name.dir</name> <value>file:/hadoop/dfs/name1,file:/hadoop/dfs/name2</value> </property> <property> <name>dfs.namenode.rpc-address.mynamenode1</name> <value>172.16.10.1:9000</value> </property> <property> <name>dfs.namenode.rpc-address.mynamenode2</name> <value>172.16.10.2:9000</value> </property> <property> <name>dfs.namenode.http-address.mynamenode1</name> <value>172.16.10.1:50070</value> </property> <property> <name>dfs.namenode.http-address.mynamenode2</name> <value>172.16.10.2:50070</value> </property> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://mynamenode1:8485;mynamenode2:8485/mycluster</value> </property> ``` 其中,dfs.namenode.name.dir配置了两个Namenode的元数据存储路径;dfs.namenode.rpc-address和dfs.namenode.http-address分别配置了两个Namenode的RPC和HTTP地址;dfs.namenode.shared.edits.dir配置了两个Namenode的编辑日志存储路径。 3. 在每个Namenode节点上,创建元数据存储路径和编辑日志存储路径,并设置权限: ``` $ sudo mkdir -p /hadoop/dfs/name1 /hadoop/dfs/name2 $ sudo chown -R hdfs:hadoop /hadoop/dfs ``` 4. 启动Hadoop集群,格式化HDFS和启动Zookeeper: ``` $ hdfs namenode -format $ start-dfs.sh $ start-yarn.sh $ zkServer.sh start ``` 5. 在一个Namenode节点上,启动JournalNode: ``` $ hadoop-daemon.sh start journalnode ``` 6. 在另一个Namenode节点上,启动Active Namenode: ``` $ hdfs --daemon start namenode ``` 7. 在第三个节点上,启动Standby Namenode: ``` $ hdfs namenode -bootstrapStandby $ hdfs --daemon start namenode ``` 8. 验证双Namenode是否正常工作: ``` $ hdfs haadmin -getServiceState mynamenode1 $ hdfs haadmin -getServiceState mynamenode2 ``` 如果输出为“active”,表示双Namenode正常工作。 以上就是搭建双Namenode的步骤。双Namenode可以提高Hadoop集群的可用性和容错性,但也增加了部署和维护的复杂度。因此,需要根据实际情况选择是否搭建双Namenode。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值