hadoop集群高可用之常见问题分析

namenode-HA问题:
  • 两个或以上的namenode节点数启动后都是standby状态
    解决办法:1、先查看namenode节点的状态(nn1是namenode的节点名称)
bin/hdfs haadmin -getServiceState nn1

在这里插入图片描述
然后使用命令切换状态即可

bin/hdfs haadmin -transitionToActive nn1

*:手动装换如果报错,是因为配置自动转换,依靠zkfc来控制namenode的状态

dfs.ha.automatic-failover.enabled

在这里插入图片描述
2、手动装换失败且namenode节点都是standby状态,那么就是zkfc问题,jps查看是否启动DFSZKFailoverController,即重新启动hdfs集群和zookeeper集群,如果还没有DFSZKFailoverController进程,说明hdfs注册zookeeper集群状态信息出错,需要重新格式化hadoop集群在zookeeper集群中的状态信息,先关闭hadoop集群,使用如下命令

bin/hdfs zkfc -formatZK

在这里插入图片描述
:是在hadoop安装目录下执行该命令,执行完毕后重新启动hadoop集群即可
在这里插入图片描述
通过jps查看,DFSZKFailoverController启动成功,再一次通过web端口访问每一个namenode节点,有一个是active状态。


resourcemanager-HA问题:

配置两个及以上的resourcemanager节点,配置了resourcemanager节点启动resourcemanager的时候,与namenode启动不一样,多个namenode可以直接通过一个sbin/start-dfs.sh全部启动,但resourcemanager的启动可以使用守护进程启动,也可以用sbin/start-yarn.sh直接启动集群中所有的nodemanager(类似sbin/start-dfs.sh启动所有的namenode和datanode)和本节点的resourcemanager,其他节点的resourcemanager是不会启动的,需要单独到其他配置了resourcemanager的节点执行启动resourcemanager命令,否则没有启动无法实现高可用。
可以用脚本直接全部启动所有,也可以挨个到配置了resourcemanager的节点去启动resourcemanager


jobhistoryserver问题:

都检查过没问题就重新启动所有集群,先启动zookeeper集群,再启动hadoop集群中的namenode,用sbin/start-dfs.sh,再启动resourcemanager,用sbin/start-yarn.sh,再启动jobhistoryserver,用sbin/mr-jobhistory-daemon.sh start historyserver(启动historyserver之前必须确定namenode和resourcemanager以及zookeeper集群都全部启动了,多个resourcemanager必须每个都要启动,最后启动historyserver)启动后
在这里插入图片描述

:jobhistoryserver启动成功,也能访问后,在namenode的文件查询系统遇到权限问题
在这里插入图片描述
解决办法:通过hdfs修改权限即可,参考:http://www.cnblogs.com/xl-201710/p/9757961.html
在这里插入图片描述

集群都启动成功后,查看job情况
在这里插入图片描述

总结:集群是由多个组件通过一定的通信方式进行运作的,每个组件有自己的特性和兼容性,所以有时候集群组件中各个组件的配置文件都是规范的,但是集群运行报错,这就可能是组件之间的兼容性问题导致。在hadoop集群中,hdfs和zookeeper等各部分之间的问题,如果各个部分配置都没问题,可以尝试先停止所有集群组件,传出hadoop的data文件,重新格式化namenode,再启动zookeeper集群,然后从新注册hadoop在zookeeper中的状态信息(sbin/hdfs zkfc -formatZK),再启动namenode和datanode、journalnode(sbin/start-dfs.sh),再启动resourcemanager,historyserver,有其他组件再考虑顺序,zookeeper和namenode,datanode,journalnode等都是最先启动的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yhblog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值