1. 程式人生 > >全網最詳細的Hadoop HA集群啟動後,兩個namenode都是standby的解決辦法(圖文詳解)

全網最詳細的Hadoop HA集群啟動後,兩個namenode都是standby的解決辦法(圖文詳解)

config bubuko 測試 IE oop per ali col 學到老

  不多說,直接上幹貨!

技術分享圖片

技術分享圖片

解決辦法

  因為,如下,我的Hadoop HA集群。

技術分享圖片

1、首先在hdfs-site.xml中添加下面的參數,該參數的值默認為false:

技術分享圖片

  <property>
                <name>dfs.ha.automatic-failover.enabled.ns</name>
                <value>true</value>
        </property>

2、在core-site.xml文件中添加下面的參數,該參數的值為ZooKeeper服務器的地址,ZKFC將使用該地址。

技術分享圖片

  在HA或者HDFS聯盟中,上面的兩個參數還需要以NameServiceID為後綴,比如dfs.ha.automatic-failover.enabled.mycluster。除了上面的兩個參數外,還有其它幾個參數用於自動故障轉移,比如ha.zookeeper.session-timeout.ms,但對於大多數安裝來說都不是必須的。

  在添加了上述的配置參數後,下一步就是在ZooKeeper中初始化要求的狀態,可以在任一NameNode中運行下面的命令實現該目的,該命在ZooKeeper中創建znode:

  執行該命令需要進入Hadoop的安裝目錄下面的bin目錄中找到hdfs這個命令,輸入上面的命令執行,然後就可以修復這個問題了。

技術分享圖片

[kfk@bigdata-pro01 bin]$ pwd
/opt/modules/hadoop-2.6.0/bin
[kfk@bigdata-pro01 bin]$ ./hdfs zkfc -formatZK

技術分享圖片

18/06/16 10:44:28 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=bigdata-pro01.kfk.com:2181
,bigdata-pro02.kfk.com:2181,bigdata-pro03.kfk.com:2181 sessionTimeout=5000 watcher=org.apache.hadoop.ha.ActiveStandbyElector$WatcherWithClientRef@20deea7f 18/06/16 10:44:28 INFO zookeeper.ClientCnxn: Opening socket connection to server bigdata-pro01.kfk.com/192.168.80.151:2181. Will not attempt to authenticate using SASL (unknown error) 18/06/16 10:44:28 INFO zookeeper.ClientCnxn: Socket connection established to bigdata-pro01.kfk.com/192.168.80.151:2181, initiating session 18/06/16 10:44:28 INFO zookeeper.ClientCnxn: Session establishment complete on server bigdata-pro01.kfk.com/192.168.80.151:2181, sessionid = 0x164065bc2a90001, negotiated timeout = 5000 =============================================== The configured parent znode /hadoop-ha/ns already exists. Are you sure you want to clear all failover information from ZooKeeper? WARNING: Before proceeding, ensure that all HDFS services and failover controllers are stopped! =============================================== Proceed formatting /hadoop-ha/ns? (Y or N) 18/06/16 10:44:28 INFO ha.ActiveStandbyElector: Session connected. y 18/06/16 10:44:57 INFO ha.ActiveStandbyElector: Recursively deleting /hadoop-ha/ns from ZK... 18/06/16 10:44:57 INFO ha.ActiveStandbyElector: Successfully deleted /hadoop-ha/ns from ZK. 18/06/16 10:44:57 INFO ha.ActiveStandbyElector: Successfully created /hadoop-ha/ns in ZK. 18/06/16 10:44:57 INFO zookeeper.ClientCnxn: EventThread shut down 18/06/16 10:44:57 INFO zookeeper.ZooKeeper: Session: 0x164065bc2a90001 closed [kfk@bigdata-pro01 bin]$

啟動並測試

  1、先停止掉Hadoop和zookeeper的進程。

  2、啟動zookeeper進程。

  3、開啟zkfc進程

技術分享圖片

[kfk@bigdata-pro01 hadoop-2.6.0]$ pwd
/opt/modules/hadoop-2.6.0
[kfk@bigdata-pro01 hadoop-2.6.0]$ sbin/hadoop-daemon.sh start zkfc 
starting zkfc, logging to /opt/modules/hadoop-2.6.0/logs/hadoop-kfk-zkfc-bigdata-pro01.kfk.com.out

  4、進入Hadoop的安裝目錄下面的sbin目錄中,找到start-dfs.sh命令可以啟動NameNode,當然這裏需要你在配置了NameNode主節點的Hadoop節點上面來執行他。

    或者,直接sbin/start-all.sh

技術分享圖片

技術分享圖片

技術分享圖片

  如果,還是沒解決的話,則

技術分享圖片

bin/hdfs haadmin -transitionToActive nn1

 

技術分享圖片

技術分享圖片

歡迎大家,加入我的微信公眾號:大數據躺過的坑 人工智能躺過的坑

同時,大家可以關註我的個人博客

http://www.cnblogs.com/zlslch/ http://www.cnblogs.com/lchzls/ http://www.cnblogs.com/sunnyDream/

詳情請見:http://www.cnblogs.com/zlslch/p/7473861.html

  人生苦短,我願分享。本公眾號將秉持活到老學到老學習無休止的交流分享開源精神,匯聚於互聯網和個人學習工作的精華幹貨知識,一切來於互聯網,反饋回互聯網。
  目前研究領域:大數據、機器學習、深度學習、人工智能、數據挖掘、數據分析。 語言涉及:Java、Scala、Python、Shell、Linux等 。同時還涉及平常所使用的手機、電腦和互聯網上的使用技巧、問題和實用軟件。 只要你一直關註和呆在群裏,每天必須有收獲

對應本平臺的討論和答疑QQ群:大數據和人工智能躺過的坑(總群)(161156071)技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

全網最詳細的Hadoop HA集群啟動後,兩個namenode都是standby的解決辦法(圖文詳解)