hadoop集群启动后,两个namenode都是standby

配置HA的自动故障转移

首先在hdfs-site.xml中添加下面的参数,该参数的值默认为false:

<property>
   <name>dfs.ha.automatic-failover.enabledname>
   <value>truevalue>
property>property>
   <name>dfs.ha.automatic-failover.enabledname>
   <value>truevalue>
property>

在core-site.xml文件中添加下面的参数,该参数的值为ZooKeeper服务器的地址,ZKFC将使用该地址。

<property>
   <name>ha.zookeeper.quorumname> <value>hadoop:2181,hadoopwy1:2181,hadoopwy2:2181value>
property>property>
   <name>ha.zookeeper.quorumname> <value>hadoop:2181,hadoopwy1:2181,hadoopwy2:2181value>
property>

在HA或者HDFS联盟中,上面的两个参数还需要以NameServiceID为后缀,比如dfs.ha.automatic-failover.enabled.mycluster。除了上面的两个参数外,还有其它几个参数用于自动故障转移,比如ha.zookeeper.session-timeout.ms,但对于大多数安装来说都不是必须的。

在添加了上述的配置参数后,下一步就是在ZooKeeper中初始化要求的状态,可以在任一NameNode中运行下面的命令实现该目的,该命在ZooKeeper中创建znode:

$ hdfs zkfc -formatZK

执行该命令需要进入Hadoop的安装目录下面的bin目录中找到hdfs这个命令,输入上面的命令执行,然后就可以修复这个问题了。

你可能感兴趣的:(大数据)