错误:刷新所需日志失败

8ljdwjyq  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(273)

在我们的一个平台上,hdfs namenode每1或3天就会关闭一次,并显示以下错误消息

FATAL namenode.FSEditLog (JournalSet.java:mapJournalsAndReportErrors(390)) - Error: flush failed for required journal (JournalAndStream(mgr=QJM to [<ip1>:<port>,<ip2>:<port>, etc], stream=QuorumOutputStream starting at txid 29873171))
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:109)
    at org.apache.hadoop.hdfs.server.namenode.EditLogOutputStream.flush(EditLogOutputStream.java:113)
    at org.apache.hadoop.hdfs.server.namenode.EditLogOutputStream.flush(EditLogOutputStream.java:107)
    at org.apache.hadoop.hdfs.server.namenode.JournalSet$JournalSetOutputStream$8.apply(JournalSet.java:525)
    at org.apache.hadoop.hdfs.server.namenode.JournalSet.mapJournalsAndReportErrors(JournalSet.java:385)
    at org.apache.hadoop.hdfs.server.namenode.JournalSet.access$100(JournalSet.java:55)
    at org.apache.hadoop.hdfs.server.namenode.JournalSet$JournalSetOutputStream.flush(JournalSet.java:521)
    at org.apache.hadoop.hdfs.server.namenode.FSEditLog.logSync(FSEditLog.java:710)
    at org.apache.hadoop.hdfs.server.namenode.FSEditLogAsync.run(FSEditLogAsync.java:188)
    at java.lang.Thread.run(Thread.java:748)

在这个致命日志之前,我们可以看到以下类型的日志,在这些日志上我们可以检测到响应时间的降低

WARN  client.QuorumJournalManager (QuorumCall.java:waitFor(185)) - Waited 18014 ms (timeout=20000 ms) for a response for sendEdits. Succeeded so far: [<ip1>:<port>,<ip2>:<port>]

您是否已经遇到这个问题,您有什么建议来解决它?
我们已经:
检查我们的虚拟机是否是时间同步的
检测到当问题发生时,网络上的突发数据正在进行中,但尚未检测到根本原因
检查了我们的网络设备。除了我们将要解决的端口从上升状态快速变为下降状态的问题外,网络似乎是正确的
提前谢谢

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题