部署hadoop集群ha模式常见的问题,以及解决方案

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>


猜你喜欢

转载自blog.csdn.net/things_use/article/details/80270722