HA模式下,扩展HDFS集群遇到的问题,namenode 启动不起来!emmmmmmmm~

来源:互联网 发布:java divide向上保留 编辑:程序博客网 时间:2024/05/19 16:37

因为需要吧,需要扩几台Hbase的从节点,也需要扩展几台datanode节点。然后我把安装包scp到我的新节点上,然后在slaves和regionservers里面加上我新的机器,dfs.data.dir什么的都新建好了,然后我从新启动集群,妈耶,出错了

1.WARN org.apache.hadoop.hdfs.qjournal.client.QuorumJournalManager: Remote journal xxx.xxx.xxx.xx:8485 failed to write txns 140038-140038. Will try to write to this JN again after the next log roll.org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.qjournal.protocol.JournalNotFormattedException): Journal Storage Directory /hadoop/journaldata/cluster not formatted

然后我发现它说的出错的地址正好是我新机器的节点,然后我看它出错日志,说的就是不能格式化巴拉巴拉的,然后我就去百度了一下,最简单粗暴的方法就是,用你原先集群的机器下journaldata底下的全部内容,拷到你要添加的新机器的journaldata目录下,而且每台新机器都要这么做!

这里写图片描述

目录是自己定义的,如果忘记定义的,记得查看配置文件~

这里写图片描述

记得一定要每台新机器都要这么做。

2. WARN org.apache.hadoop.hdfs.server.namenode.ha.EditLogTailer: Unable to trigger a roll of the active NNorg.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.StandbyException): Operation category JOURNAL is not supported in state standby

其实这种问题网上解决的方法很多,最最最粗暴的就是登陆进去ZK把里面的hadoop-ha这个节点删除从新格式化,但是还是不好吧,这就贴出几条命令

hdfs haadmin -getServiceState 主机名这个命令可以查看你的namenode是standby状态还是active状态,你阔以查看一下,如果两台namonode全处在standby状态呢!你是不是必须要强制一台转换为active状态,集群才能正常工作,然后给你们另一条转换命令~ hdfs haadmin -transitionToActive --forcemanual 主机名这条命令就可以从standby状态转换为active状态了、

然后从新启动集群,美滋滋。

还有还有更常见的就是你删除集群删除没干净,网上有很多解决办法,只在这里提一句,看你{dfs.data.dir},目录下的current下的VERSION记事本

这里写图片描述

看你原先的集群这些和你新的安装的,有哪些不同,你找不同,然后改成一致的即可,记得着重看storageID和clusterID

这个问题我遇到好几次了,找不同找的飞起。。。。。。。。。。

emmmmmmmm,今天就先废话到这里,喜欢hbase和opentsdb的可以加我一起讨论~~~,溜了溜了