Hadoop HA Namenode 出现错误:所需日志的刷新失败 (JournalAndStream(mgr=QJM to [< ip >:8485, < ip >:8485
Posted
技术标签:
【中文标题】Hadoop HA Namenode 出现错误:所需日志的刷新失败 (JournalAndStream(mgr=QJM to [< ip >:8485, < ip >:8485, < ip >:8485]))【英文标题】:Hadoop HA Namenode goes down with the Error: flush failed for required journal (JournalAndStream(mgr=QJM to [< ip >:8485, < ip >:8485, < ip >:8485])) 【发布时间】:2016-04-21 18:47:48 【问题描述】:Hadoop Namenode 几乎每天都会宕机一次。
FATAL namenode.FSEditLog (JournalSet.java:mapJournalsAndReportErrors(398)) -
**Error: flush failed for required journal** (JournalAndStream(mgr=QJM to [< ip >:8485, < ip >:8485, < ip >:8485], stream=QuorumOutputStream starting at txid <>))
java.io.IOException: Timed out waiting 20000ms for a quorum of nodes to respond.
at org.apache.hadoop.hdfs.qjournal.client.AsyncLoggerSet.waitForWriteQuorum(AsyncLoggerSet.java:137)
at org.apache.hadoop.hdfs.qjournal.client.QuorumOutputStream.flushAndSync(QuorumOutputStream.java:107)
at org.apache.hadoop.hdfs.server.namenode.EditLogOutputStream.flush(EditLogOutputStream.java:113)
at
有人可以建议我解决此问题需要考虑哪些事项吗?
我正在为日志节点和主节点使用虚拟机。它会引起任何问题吗?
【问题讨论】:
【参考方案1】:根据您粘贴的错误。您的日志节点似乎无法及时与 NN 通信。事件发生时发生了什么?
既然你提到你的节点是虚拟机,我猜你超载了管理程序,或者它在从 NN 到 JN 和 zk quorum 的谈话中遇到了麻烦。
【讨论】:
请查看URL,这将有助于提高您的内容质量【参考方案2】:在我的情况下,这个问题是由于集群节点之间的系统时间不同造成的。
为了使系统时间保持同步,我们可以在每个节点中执行以下命令。
sudo service ntpd stop
sudo ntpdate pool.ntp.org # Run this command multiple times
sudo service ntpd start
如果hue关闭,在hue服务器机器上运行以下命令
sudo service hue start
如果namenode宕机,启动namenode。
定期修复
在环境的所有节点上为 root 用户添加一个 crontab。
或
安装 VM 工具,以保持系统时间同步。
【讨论】:
以上是关于Hadoop HA Namenode 出现错误:所需日志的刷新失败 (JournalAndStream(mgr=QJM to [< ip >:8485, < ip >:8485的主要内容,如果未能解决你的问题,请参考以下文章