今天发现测试环境Hadoop集群开始频繁宕掉,查看namenode日志发现有如下报错信息:
java.io.IOException: Timed out waiting 20000ms for a quorum of nodes to respond.
原因是因为namenode与journalnode通信时,超过20000ms,触发了默认设置的超时时长,解决办法:
在hdfs-site.xml
中加入如下配置
<property> <name>dfs.qjournal.start-segment.timeout.ms</name> <value>90000</value> </property> <property> <name>dfs.qjournal.select-input-streams.timeout.ms</name> <value>90000</value> </property> <property> <name>dfs.qjournal.write-txns.timeout.ms</name> <value>90000</value> </property>
在core-site.xml
中加入如下配置:
<property> <name>ipc.client.connect.timeout</name> <value>90000</value> </property>