Hadoop2.5.2 HA高可靠性集羣搭建(Hadoop+Zookeeper)

在參考下面文章搭建過hadoop1.x之hdfs後,能夠參考本文直接接着搭建node

http://www.javashuo.com/article/p-dlfyylea-mk.htmlbootstrap

若是沒有參考過能夠選擇性的參考下面的說明,或者找其它文檔搭建。瀏覽器

若是你的主機上沒有搭建好zookeeper服務,請參考下面的文章完成zookeeper集羣搭建oop

http://www.javashuo.com/article/p-gawxxoqx-ms.html.net

1. 首先改變一些上次簡單搭建好hdfs的一些東西。orm

 a. 刪除配置文件中的masters,由於HadoopHA 不須要secondaryNameNode了,因此須要刪除上次配置的這個目錄。xml

 b. 刪除上次搭建的非高可用的hadoop的namenode的工做的目錄,(個人是/opt/hadoop-2.5/),由於後面要從新格式化。blog

 c. 修改配置文件hadoop

        vi core-site.xml(第一個配置項的值中的"laoniu"是自定義的,它是一個命名空間,表明你當前配置的這個hdfs系統,這個自定義的字段後面會用到!)文檔

    vi hdfs-site.xml(注意上面說過的那個命名空間的字段,下面的配置中要對應一致)

 配置項的詳細說明,能夠參考下面鏈接中的:

Hadoop2.5.2 HA高可靠性集羣搭建(Hadoop+Zookeeper)

http://eksliang.iteye.com/blog/2226986

 

2. 複製配置文件到其它node上(能夠徹底複製目錄或者只複製etc/hadoop目錄 覆蓋其它機器上)

scp -r xxxx root@node2:xxxx   (注意這個命令的格式)

3. 啓動zookeeper集羣:./zkServer.sh start

(啓動成功請參考 https://my.oschina.net/u/3696405/blog/1542535 筆記的說明,或者使用zkServer.sh status命令)

4. 啓動三個JournalNode,命令:HADOOP_HOME/bin/hadoop-daemon.sh start journalnode ,在每一個JounrnalNode節點都啓動一下,也就是hdfs-site.xml中配置的這三臺。

(jps驗證,查看log驗證啓動成功與否。)

5. 在其中一個namenode上格式化:hdfs namenode -format

6. 把剛剛格式化以後的元數據拷貝到另一個namenode上(經過下面兩步完成)

a)        啓動剛剛格式化的namenode   hadoop-daemon.sh start namenode

b)        在沒有格式化的namenode上執行:hdfs namenode -bootstrapStandby

(b的圖丟了)

7. 啓動第二個namenode   hadoop-daemon.sh start namenode

8. 在其中一個namenode上初始化zkfc:hdfs zkfc -formatZK

9. 中止上面節點:stop-dfs.sh

10 .全面啓動:start-dfs.sh

11. 驗證nameNode,在瀏覽器中輸入nameNode的主機加端口。

node1:50070 ,注意他是一個active節點,也就是正在服務的nameNode

node2:50070,注意他是一個備用節點,standby,當active節點down掉,這個節點就接管了。

12. 停掉active的nadeNodedown(圖中有命令),查看另外一臺是否接手,(注意:兩臺nameNode必須能夠相互免密碼登錄,否則會失敗的,這兒我曾經遇到的坑)

此時node2就成了active節點了

再次啓動node1(上面被停掉的namenode),此時這個nameNode就成了standby節點了

OK,到此HadoopHA高可用搭建成功,可是注意這個裏面還沒搭建Yarn呢,且看下篇文章

 

附加:正常中止的顯示:

注意:根據據上邊關機的顯示,能夠一次發現個人配置,nameNode分別是node1和node1,dataNode:node2,node3,node4,JouralNode是node3,node4,node5,zkfc:node1,node2(這個必須和nameNode對應,並且是一一對應的)

相關文章
相關標籤/搜索