我已经设置了一个3节点Hadoop Hadoop-2.8.0)。我已经部署了2 namenodes,它们是在HA模式下使用QJM配置的。在安装namenode的同一台计算机上配置了2个数据节点。第三个节点仅用于法定人数。
Setup
Node1 { nn1, dn1, jn1, zkfc1, zkServer1 }
Node2 -> {nn2, dn2, jn2, zkfc2, zkServer2}
Node3 -> {jn3, zkServer3}由于某种原因,我停止了集群(电源回收服务器),由于它们,我无法成功地启动集群。在检查了日志之后,我发现namenodes处于安全模式,并且没有一个能够在内存中加载该块。下面是namenode中namenode的状态。
安全模式开始了。所报告的块0需要额外的6132675块才能达到总块6138814的阈值0.9990。活动数据节点0的数量已达到最小数0。一旦达到阈值,安全模式将自动关闭。61,56,984个文件和目录,61,38,814块= 1,22,95,798个文件系统对象。堆内存使用7.12GB堆内存中的5.6GB。最大堆内存为13.33GB。非堆内存使用45.19MB的49.75MB提交的非堆内存。最大非堆内存为130 MB。
名节点日志中有大量JVM暂停消息,因此我尝试增加HADOOP_HEAPSIZE,增加HADOOP_NAMENODE_OPTS中的堆大小,但没有成功。
需要帮助..。
发布于 2017-07-20 11:12:26
在收到hadoop用户邮件列表的回复后,我已经解决了这个问题。这一问题是由于未由datanodes生成的阻止报告造成的。我检查了日志,发现datanode抱怨ipc.maximum.data.length比要求的要小。
我在core-site.xml文件中添加了下面的属性,以解决对我有用的问题。
<property>
<name>ipc.maximum.data.length</name>
<value>101372499</value>
</property>https://stackoverflow.com/questions/45206389
复制相似问题