接下來開始啟動集群
啟動zookeeper
在Hadoop1、hadoop2、hadoop3、hadoop4、hadoop5上zookeeper目錄下分別執(zhí)行命令:bin/zkServer.sh start
在每一臺機器執(zhí)行完上面的命令后,執(zhí)行jps,會顯示:這是初步認定啟動沒有問題
當所有機器執(zhí)行上述命令完畢后,再在每臺機器上執(zhí)行:bin/zkServer.sh status 查看每臺機器zookeeper的狀態(tài),正確的話,只有一臺機器是leader,其余機器都是顯示folower。1-5臺機器都需要測試一下
3、驗證格式化zookeeper
3.1執(zhí)行zkCli.sh
在hadoop1機器上,hadoop目錄,執(zhí)行zkCli.sh 終端上會輸出一連串的信息。最后結束的信息是
Welcome to ZooKeeper!
2015-07-08 16:44:40,028 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@966] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
2015-07-08 16:44:40,033 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@849] - Socket connection established to localhost/127.0.0.1:2181, initiating session
JLine support is enabled
2015-07-08 16:44:40,094 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1207] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x145407bbc720004, negotiated timeout = 30000
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 1]
[zk: localhost:2181(CONNECTED) 1]
這一步不是必要的,只是為了測試一下zookeeper是否能夠通過客戶端訪問
3.2 格式化ZooKeeper集群
格式化zookeeper集群,目的是在ZooKeeper集群上建立HA的相應節(jié)點。
在hadoop1上的hadoop的目錄執(zhí)行:bin/hdfs zkfc –formatZK
4、啟動JournalNode集群
在hadoop1、hadoop2、hadoop3、hadoop4、hadoop5上分別hadoop目錄
執(zhí)行命令:sbin/hadoop-daemon.sh start journalnode
5、格式化集群的一個NameNode
從hadoop1和hadoop2中任選一個即可,這里選擇的是hadoop1
在hadoop1上/home/tom/yarn/hadoop-2.5.2/目錄下執(zhí)行下面命令:
bin/hdfs namenode -format -clusterId c1
6. 啟動ZooKeeperFailoverCotroller
在hadoop1、hadoop2、hadoop3、hadoop4、hadoop5、hadoop6上分別執(zhí)行命令: sbin/hadoop-daemon.sh start zkfc
7、啟動剛才格式化的namenode
在hadoop1上/home/tom/yarn/hadoop-2.5.2/目錄下執(zhí)行命令:/sbin/hadoop-daemon.sh start namenode
再hadoop2機器上,再使用/sbin/hadoop-daemon.sh start namenode 啟動namenode
8. 啟動所有的datanode
Datanode是在slaves文件中配置的。在hadoop1上執(zhí)行:
sbin/hadoop-daemons.sh start datanode
9、啟動Yarn
在hadoop1上執(zhí)行命令:sbin/start-yarn.sh
所有集群啟動完畢后,請通過web頁面進行查看狀態(tài)
10.驗證HA的故障自動轉移是否好用
在執(zhí)行完第8步的時候,在頁面可以觀察到兩個NameNode的狀態(tài),hadoop1的狀態(tài)是standby,hadoop2的狀態(tài)是active。原先兩個namenode都是standby的狀態(tài)。
在hadoop1上我們執(zhí)行:kill -9 23558
23558 NameNode
然后jps:nemenode進程不存在了
然后刷新兩個頁面,可以看到,兩臺機器的狀態(tài)置換了。原先的active變成standby,原先的standby變成active,這說明,HA故障自動轉換是正常的,HDFS是高可用的。
等你順利結束上面所有的步驟,都很順利的話,說明,你集群搭建基本完成任務。說是基本,因為還有事情要做,就是,你要開始上傳文件開始測試程序,看看hadoop是否應用正常。這就是接下來要做的事情了。
更多Hadoop相關信息見Hadoop 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=13
本文永久更新鏈接地址:http://www.linuxidc.com/Linux/2015-08/121349.htm
聯(lián)系客服