1. 集群中的某个datanode无法启动。
原因:可能是该节点的clusterId和master上的不一样了,修改clusterId和master一样的就行了。如下:
在core-site.xml中找到配置的hadoop.tmp.dir,往下找/dfs/name/current下有个VERSION文件,打开如下:
对比master上的clusterID,修改为mater上的ID就行了。
2. 格式化hdfs的时候出错
出现了No Route to Host from ***** to****等信息,首先要保证各个节点配置额ssh免密码登录,然后看看是否关闭了某个节点的防火墙,本人遇见过一次,就是某个节点的防火墙忘记了关闭。
3. JAVA_HOME is not set and javacould not be found in PATH.
启动在一台机器上启动其他机器上的zookeeper的时候,出现上面错误,但是单台一个一个启动的时候没有问题,肯定是JAVA_HOME的原因,要在zookeeper的bin目录下面的zkCli.sh文件中加上JAVA_HOME=”**/**/”然后就能启动了
4. 两个namenode都是standby状态,并且没法自动切换。出现Operation category JOURNAL is not supported in state standby错误
首先要在hdfs-site.xml中配置zookeeper的地址,如下:
<property>
<name>ha.zookeeper.quorum</name>
<value>node1:2181,node2:2181,node3:2181</value>
</property>
下面要确保ha自动切换可用。
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
然后最重要的是要格式化一下zkfc,不然zkfc启动不了。
hdfs zkfc –formatZK
5. name无法自动切换的问题
<property>
<!-- -->
<name>dfs.ha.fencing.methods</name>
<value>shell(/bin/true)</value>
</property>
网上好多教程是说这个值要配成sshfence,但是就是不能自动切换,原因参考:
https://blog.csdn.net/oneinmore/article/details/45250417
这个值改成shell(/bin/true)就可以了。
6. nodeManger启动不起来,出现如下错误 Cannot support recovery with an ephemeral server port
解决方案如下,在yarn-site.xml中添加属性信息
<property>
<name>yarn.nodemanager.address</name>
<value>${yarn.nodemanager.hostname}:45454:45454</value>
</property>