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的主要内容,如果未能解决你的问题,请参考以下文章

hadoop的HA

搭建hadoop2 HA

Hadoop HA——namenode无法启动问题解决

Hadoop HA——namenode无法启动问题解决

Hadoop (HDFS) HA架构通信机制

Hadoop集群安装与配置