hadoop启动后jps查不到namenode
启动过程没有发现错误,但是jps查看进程时,发现少了NameNode,而DataNode却存在:
原因之一是:端口9000已经被占用,解决办法有两个,
一:查找占用端口的进程,kill掉它。
netstat -anp|grep 9000
kill -9 7056(7056是进程号)
最后重新执行启动脚本,jps就可以看到NameNode了
二:修改core-site.xml文件,把9000改成其他如9001.(具体端口根据自己需要修改)
Hadoop集群 主备切换 (Active - Standby)
有时候出现主备的情况也会导致节点起不来,甚至无法访问web-ui,以下是关于手动主备切换的方法:
手动切换 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、关闭 主节点 ANN 的 NameNode 节点
kill -9 进程号
等待一会,ZKFC 检测出 主节点 NameNode 失联后,就会进行启动备用节点为主节点
查看 node01 的节点状态,此时备用节点 已经切换为主节点 ANN
2、再将关闭的 NameNode 节点启动
单独启动NameNode节点命令
sbin/hadoop-daemon.sh start namenode
查看 node02 的节点状态,此时节点状态已经切换为备用节点
https://blog.csdn.net/2301_77257988/article/details/136355971