国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

Hadoop2.2.0穩定版整合ZooKeeper(2)

來源:懂視網 責編:小采 時間:2020-11-09 15:57:20
文檔

Hadoop2.2.0穩定版整合ZooKeeper(2)

Hadoop2.2.0穩定版整合ZooKeeper(2):hadoop學習(九)Hadoop2.2.0HAzookeeper3.4.5詳細配置過程錯誤處理(2) Hadoop2.2.0HAzookeeper3.4.5詳細配置過程體系結構錯誤處理(2) 這篇文章,主要是針對zookeeper和hadoop集群的整體測試,以及自己在實際過程遇到的問題和解決思路。 整個過程是,痛苦
推薦度:
導讀Hadoop2.2.0穩定版整合ZooKeeper(2):hadoop學習(九)Hadoop2.2.0HAzookeeper3.4.5詳細配置過程錯誤處理(2) Hadoop2.2.0HAzookeeper3.4.5詳細配置過程體系結構錯誤處理(2) 這篇文章,主要是針對zookeeper和hadoop集群的整體測試,以及自己在實際過程遇到的問題和解決思路。 整個過程是,痛苦

hadoop學習(九)Hadoop2.2.0HAzookeeper3.4.5詳細配置過程錯誤處理(2) Hadoop2.2.0HAzookeeper3.4.5詳細配置過程體系結構錯誤處理(2) 這篇文章,主要是針對zookeeper和hadoop集群的整體測試,以及自己在實際過程遇到的問題和解決思路。 整個過程是,痛苦、無

hadoop學習(九)Hadoop2.2.0+HA+zookeeper3.4.5詳細配置過程+錯誤處理(2)

Hadoop2.2.0+HA+zookeeper3.4.5詳細配置過程+體系結構+錯誤處理(2)

這篇文章,主要是針對zookeeper和hadoop集群的整體測試,以及自己在實際過程遇到的問題和解決思路。

整個過程是,痛苦、無奈和糾結的。伴隨著N多夜晚??偨Y的過程就超過10個小時。還有很多問題都沒有寫完,后續會繼續跟近,也歡迎與讀者討論交談。

讀者有益,寫著有勞。關愛身邊每一個人,熱愛身體,珍惜生命,且行且珍惜。

http://blog.csdn.net/yczws1/article/details/23594149

測試啟動

按照下面的每一步執行,執行完一定要看輸出的信息,注意warn或error或fatal的情況。因為這都是可能是問題出現的地方。出現一個問題,不解決,可能就會影響接下來的測試。這才是真正的工作量。

1、啟動zookeeper

在hadoop1、hadoop2、hadoop3、hadoop4、hadoop5上zookeeper目錄下分別執行命令:bin/zkServer.sh start

在每一臺機器執行完上面的命令后,執行jps,會顯示:這是初步認定啟動沒有問題

 
 23598 Jps 
 22491 QuorumPeerMain 

當所有機器執行上述命令完畢后,再在每臺機器上執行:bin/zkServer.sh status 查看每臺機器zookeeper的狀態,正確的話,只有一臺機器是leader,其余機器都是顯示folower。1-5臺機器都需要測試一下,效果如下:

 
 tom@hadoop4:~yarn/hadoop2.2.0/app/zookeeper/bin$ ./zkServer.sh status
 JMX enabled by default
 Using config: /home/ericsson/zookeeper/bin/../conf/zoo.cfg
 Mode: follower
 tom@hadoop4:~yarn/hadoop2.2.0/app/zookeeper/bin$ 

2、驗證格式化zookeeper

2.1執行zkCli.sh

在hadoop1機器上,hadoop目錄,執行zkCli.sh 終端上會輸出一連串的信息。最后結束的信息是

Welcome to ZooKeeper!
2014-04-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)
2014-04-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
2014-04-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] 

【可以看到ZK集群 中只有一個節點zookeeper】

2.2 格式化ZooKeeper集群

格式化zookeeper集群,目的是在ZooKeeper集群上建立HA的相應節點。

在hadoop1上的hadoop的目錄執行:bin/hdfs zkfc –formatZK

正常命令輸出結尾:

14/04/08 17:03:40 INFO ha.ActiveStandbyElector: Session connected.
14/04/08 17:03:40 INFO zookeeper.ZooKeeper: Session: 0x545407c1d6c0003 closed
14/04/08 17:03:40 INFO zookeeper.ClientCnxn: EventThread shut down

如果終端輸出是以上面結尾,應該是沒有出現問題。

而我在執行的時候,遇到一個問題:在出現上面類似代碼之后,報了一個異常,導致后面的執行沒有結果,問題就出在這個異常的之上。

終端輸出:

14/04/08 17:03:40 INFO ha.ActiveStandbyElector: Session connected.
14/04/08 17:03:40 INFO zookeeper.ZooKeeper: Session: 0x545407c1d6c0003 closed
14/04/08 17:03:40 INFO zookeeper.ClientCnxn: EventThread shut down
Exception in thread "main" org.apache.hadoop.HadoopIllegalArgumentException: Bad argument: –formatZK
 at org.apache.hadoop.ha.ZKFailoverController.badArg(ZKFailoverController.java:245)
 at org.apache.hadoop.ha.ZKFailoverController.doRun(ZKFailoverController.java:208)
 at org.apache.hadoop.ha.ZKFailoverController.access$000(ZKFailoverController.java:59)
 at org.apache.hadoop.ha.ZKFailoverController$1.run(ZKFailoverController.java:166)
 at org.apache.hadoop.ha.ZKFailoverController$1.run(ZKFailoverController.java:162)
 at org.apache.hadoop.security.SecurityUtil.doAsLoginUserOrFatal(SecurityUtil.java:456)
 at org.apache.hadoop.ha.ZKFailoverController.run(ZKFailoverController.java:162)
 at org.apache.hadoop.hdfs.tools.DFSZKFailoverController.main(DFSZKFailoverController.java:175)

就是上面的異常,沒有解決,導致下面的問題都不能進行,因為下面要在執行zkCli.sh,查看zookeeper有沒有格式化成功,生成集群名稱。自己也咨詢了幾個老師,他們給的回復也是不知所云。自己在這上面,也是耽誤了很長時間,不知道到底問題出現在哪兒。其中有一個回復是:可能是 -formatZK聲明有問題。字面解釋是這樣,但是formatZK的聲明是沒有問題。耽誤了幾天,在網上得到一個解決方案。Zookeeper日志的問題,因為zookeeper是不能自動清理日志的。因為事先,我在裝zookeeper的時候,裝過兩次,但是對應的data和log目錄數據沒有更改,導致在執行formatZK命令的時候報錯。

我把log日志刪除掉,重新建立一個文件,最后問題解決。因為這個原因,自己也查了關于zookeeper的相關信息。這里只談到zookeeper日志的問題,后續的話,我們更多的去談zookeeper的相關內容。因為zookeeper的架構理念很重要。

在使用zookeeper過程中,我們知道,會有data和Log兩個目錄,分別用于snapshot和事務日志的輸出(默認情況下只有data目錄,snapshot和事務日志都保存在這個目錄中,關于這兩個目錄的詳細說明,請看《ZooKeeper管理員指南》)。

正常運行過程中,ZK會不斷地把快照數據和事務日志輸出到這兩個目錄,并且如果沒有人為操作的話,ZK自己是不會清理這些文件的,需要管理員來清理,這里介紹4種清理日志的方法。在這4種方法中,推薦使用第一種方法,對于運維人員來說,將日志清理工作獨立出來,便于統一管理也更可控。畢竟zk自帶的一些工 具并不怎么給力,這里是社區反映的兩個問題:這里可以參考:ZooKeepr日志清理 的4種方法:這里不多介紹。

驗證:

執行:zkCli.sh

輸出和上面執行zkCli.sh輸出的內容相似。如果輸出下面內容,則證明格式化zookeeper成功,否則就出現問題:

WATCHER::
WatchedEvent state:SyncConnected type:None path:null
ls /
[hadoop-ha,zookeeper]
[zk: localhost:2181(CONNECTED) 1] ls /hadoop-ha 
[cluster1] 
[zk: localhost:2181(CONNECTED) 2]

3、啟動JournalNode集群

在hadoop1、hadoop2、hadoop3、hadoop4、hadoop5上分別hadoop目錄

執行命令:sbin/hadoop-daemon.sh start journalnode

命令輸出(以hadoop1為例):

[tom@hadoop1 ~yarn/hadoop-2.2.0/]$ sbin/hadoop-daemon.sh start journalnode 
starting journalnode, logging to yarn/hadoop-2.2.0/logs/hadoop-root-journalnode-hadoop101.out 
[tom@hadoop1 ~yarn/hadoop-2.2.0/]$ 

在每個節點執行完啟動命令后,每個節點都執行以下驗證。

驗證(以hadoop1為例):

[tom@hadoop1 hadoop]$ jps 
23396 JournalNode 
23598 Jps 
22491 QuorumPeerMain 
[tom@hadoop1 hadoop]$

查看一下目錄結構:

[tom@hadoop1 ~yarn/yarn_data/]$ pwd 
/home/tom/yarn/yarn_data
[tom@hadoop1 ~yarn/yarn_data/]$ ls tmp/ 
journal 
[tom@hadoop1 ~yarn/yarn_data/]$

【啟動JournalNode后,會在本地磁盤產生一個目錄,用戶保存NameNode的edits文件的數據】

4、格式化集群的一個NameNode

從hadoop1和hadoop2中任選一個即可,這里選擇的是hadoop1

在hadoop1上/home/tom/yarn/hadoop-2.2.0/目錄下執行下面命令:

bin/hdfs namenode -format -clusterId c1

命令輸出:

14/04/08 17:39:40 INFO namenode.FSImage: Image file /usr/local/hadoop/tmp/dfs/name/current/fsimage.ckpt_0000000000000000000 of size 196 bytes saved in 0 seconds. 
14/04/08 17:39:40 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0 
14/04/08 17:39:40 INFO util.ExitUtil: Exiting with status 0 
14/04/08 17:39:40 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************ 
SHUTDOWN_MSG: Shutting down NameNode at hadoop1/172.16.128.134 
************************************************************/ 
[tom@hadoop1 ~yarn/hadoop-2.2.0/]$

驗證查看一下目錄結構:

[tom@hadoop1 ~yarn/yarn_data]$ pwd 
/home/tom/yarn/yarn_data
[tom@hadoop1 ~yarn/yarn_data]$ ls tmp/ 
dfs journal 
[tom@hadoop1 ~yarn/yarn_data]$ls dfs/

name

【格式化NameNode會在磁盤產生一個目錄,用于保存NameNode的fsimage、edits等文件】

出現上面內容,則認為,格式化namenode成功。

5、啟動剛才格式化的namenode

在hadoop1上/home/tom/yarn/hadoop-2.2.0/目錄下執行命令:/sbin/hadoop-daemon.sh start namenode

命令輸出:

[tom@hadoop1 ~yarn/hadoop-2.2.0]$ sbin/hadoop-daemon.sh start namenode 
starting namenode, logging to /home/tom/yarn/hadoop-2.2.0/logs/hadoop-root-namenode-hadoop101.out

驗證:
[tom@hadoop1 ~yarn/hadoop-2.2.0/]$ jps 
23396 JournalNode 
23598 Jps 
23558 NameNode 
22491 QuorumPeerMain 
[tom@hadoop1 ~yarn/hadoop-2.2.0/]$

在頁面輸入地址:hadoop1:50070/dfshealth.jsp,你可以在頁面看到namenode1的狀態,是standby。

6、把NameNode1的數據從hadoop1同步到hadoop2中

在hadoop2上home/tom/yarn/hadoop-2.2.0/目錄上

執行命令:

bin/hdfs namenode –bootstrapStandby

命令輸出:

[tom@hadoop2 ~yarn/hadoop-2.2.0]$bin/hdfs namenode -bootstrapStandby 
14/04/08 17:49:20 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************ 
........

14/04/08 17:49:20 INFO util.ExitUtil: Exiting with status 0 
14/04/08 17:49:20 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************ 
SHUTDOWN_MSG: Shutting down NameNode at hadoop2/172.16.128.135 
************************************************************/ 
[tom@hadoo2 ~yarn/hadoop-2.2.0]$ 

驗證:

[tom@hadoop2 ~yarn/yarn_data]$ pwd 
/home/tom/yarn/yarn_data
[tom@hadoop2 ~yarn/yarn_data]$ ls tmp/ 
dfs journal 
[tom@hadoop2 ~yarn/yarn_data]$ls dfs/

name

【在tmp目錄下產生一個目錄name】

如果出現上面結果,證明數據從namenode1上同步到namenode2上是成功的。如果可以出現上面結果,繼續下面的步驟。如果沒有出現dfs目錄,也同樣執行下面的過程,不過兩者產生的結果不一樣。

7、啟動hadoop2中另一個Namenode

在hadoop2上/home/tom/yarn/hadoop-2.2.0/目錄下執行命令:/sbin/hadoop-daemon.sh start namenode

命令輸出:

[tom@hadoop2 ~yarn/hadoop-2.2.0]$ sbin/hadoop-daemon.sh start namenode 
starting namenode, logging to /home/tom/yarn/hadoop-2.2.0/logs/hadoop-root-namenode-hadoop101.out
驗證:

[tom@hadoop2 ~yarn/hadoop-2.2.0/]$ jps 
2336 JournalNode 
2358 Jps 
2358 NameNode 
2241 QuorumPeerMain 
[tom@hadoop2 ~yarn/hadoop-2.2.0/]$

在頁面地址輸入:hadoop2:50070/dfshealth.jsp你就可以看到namenode2的狀態效果。和namenode1一樣,同樣是standby狀態。

不好的事情,我測試的過程就沒有出現上面的結果,namenode進程沒有啟動。這個問題,也是卡在那兒不得已解決,耽誤很長時間。問題,就出現在6、7兩個步驟上。不知道怎么解決,后來咨詢一個哥們,那哥們把在

http://hadoop.apache.org/docs/r2.3.0/hadoop-yarn/hadoop-yarn-site/HDFSHighAvailabilityWithQJM.html

上給我截了一個圖,我仔細看了關于第6步的過程。其實就是為了把namenode1上格式化產生的目錄,拷貝到namenode2中,既然執行6沒有出現我想要的結果。那就直接把namenode1中目中的dfs目錄直接復制到namenode2中不就OK了嗎?事實證明正式如此,官網也是這么說明的。復制完畢,再在namenode2上執行第7步,jps就可以看到namenode起來的進程了。至此這個問題解決了。

8、啟動所有的datanode

Datanode是在slaves文件中配置的。在hadoop1上執行:

sbin/hadoop-daemons.sh start datanode

命令輸出:

[tom@hadoop2 ~yarn/hadoop-2.2.0]$sbin/hadoop-daemons.sh start datanode 
hadoop3: starting datanode, logging to /home/tom/yarn/hadoop-2.2.0/logs/hadoop-root-datanode-hadoop3.out 
hadoop4: starting datanode, logging to /home/tom/yarn/hadoop-2.2.0/logs/hadoop-root-datanode-hadoop4.out 
hadoop5: starting datanode, logging to /home/tom/yarn/hadoop-2.2.0/logs/hadoop-root-datanode-hadoop5.out 
hadoop6: starting datanode, logging to /home/tom/yarn/hadoop-2.2.0/logs/hadoop-root-datanode-hadoop6.out 
[tom@hadoop2 ~yarn/hadoop-2.2.0]$

【上述命令會在四個節點分別啟動DataNode進程】

驗證(以hadoop1為例):

[tom@hadoop2 ~yarn/hadoop-2.2.0]$ jps 
23396 JournalNode 
24302 Jps 
24232 DataNode 
23558 NameNode 
22491 QuorumPeerMain 
[tom@hadoop2 ~yarn/hadoop-2.2.0]$

【可以看到java進程DataNode】

9、啟動Yarn

在hadoop1上執行命令:sbin/start-yarn.sh

命令輸出:

[tom@hadoop1 ~yarn/hadoop-2.2.0]$sbin/start-yarn.sh 
starting yarn daemons 
starting resourcemanager, logging to /home/tom/yarn/hadoop-2.2.0/logs/yarn-root-resourcemanager-hadoop1.out 
Hadoop6: starting nodemanager, logging to /home/tom/yarn/hadoop-2.2.0/logs/yarn-root-nodemanager-hadoop6.out 
hadoop5: starting nodemanager, logging to /home/tom/yarn/hadoop-2.2.0/logs/yarn-root-nodemanager-hadoop5.out 
hadoop4: starting nodemanager, logging to /home/tom/yarn/hadoop-2.2.0/logs/yarn-root-nodemanager-hadoop4.out 
hadoop3: starting nodemanager, logging to /home/tom/yarn/hadoop-2.2.0/logs/yarn-root-nodemanager-hadoop3.out 
hadoop2: starting nodemanager, logging to /home/tom/yarn/hadoop-2.2.0/logs/yarn-root-nodemanager-hadoop2.out 
hadoop1: starting nodemanager, logging to /home/tom/yarn/hadoop-2.2.0/logs/yarn-root-nodemanager-hadoop1.out 
[tom@hadoop1 ~yarn/hadoop-2.2.0]$

驗證:

[tom@hadoop1 ~yarn/hadoop-2.2.0]$jps 
23396 JournalNode 
25154 ResourceManager 
25247 NodeManager 
24232 DataNode 
23558 NameNode 
22491 QuorumPeerMain 
25281 Jps 
[tom@hadoop1 ~yarn/hadoop-2.2.0]$

【產生java進程ResourceManager和NodeManager】

也可以通過瀏覽器訪問hadoop1:8088/cluster

10、啟動ZooKeeperFailoverCotroller

在hadoop1、hadoop2、hadoop3、hadoop4、hadoop5、hadoop6上分別執行命令: sbin/hadoop-daemon.sh start zkfc

命令輸出(以hadoop1為例):

[tom@hadoop1 ~yarn/hadoop-2.2.0]$ sbin/hadoop-daemon.sh start zkfc 
starting zkfc, logging to 、home/tom/yarn/hadoop-2.2.0/logs/hadoop-root-zkfc-hadoop101.out 
[tom@hadoop1 ~yarn/hadoop-2.2.0]$驗證(以hadoop1為例):

[tom@hadoop1 ~yarn/hadoop-2.2.0]$ jps 
24599 DFSZKFailoverController 
23396 JournalNode 
24232 DataNode 
23558 NameNode 
22491 QuorumPeerMain 
24654 Jps 
[tom@hadoop1 ~yarn/hadoop-2.2.0]$

【產生java進程DFSZKFailoverController】

11、驗證HA的故障自動轉移是否好用

在執行完第10步的時候,在頁面可以觀察到兩個NameNode的狀態,hadoop1的狀態是standby,hadoop102的狀態是active。原先兩個namenode都是standby的狀態。

在hadoop1上我們執行:kill -9 23558

23558 NameNode

然后jps:nemenode進程不存在了

[tom@hadoop1 ~yarn/hadoop-2.2.0]$ jps 
24599 DFSZKFailoverController 
23396 JournalNode 
24232 DataNode 
22491 QuorumPeerMain 
24654 Jps 

然后刷新兩個頁面,可以看到,兩臺機器的狀態置換了。原先的active變成standby,原先的standby變成active,這說明,HA故障自動轉換是正常的,HDFS是高可用的。

等你順利結束上面所有的步驟,都很順利的話,說明,你集群搭建基本完成任務。說是基本,因為還有事情要做,就是,你要開始上傳文件開始測試程序,看看hadoop是否應用正常。這就是接下來要做的事情了。

總結:

整個過程是,痛苦、無奈和糾結的。伴隨著N多夜晚??偨Y的過程就超過10個小時。還有很多問題都沒有寫完,后續會繼續跟近,也歡迎與讀者討論交談。

讀者有益,寫著有勞。關愛身邊每一個人,熱愛身體,珍惜生命,且行且珍惜。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Hadoop2.2.0穩定版整合ZooKeeper(2)

Hadoop2.2.0穩定版整合ZooKeeper(2):hadoop學習(九)Hadoop2.2.0HAzookeeper3.4.5詳細配置過程錯誤處理(2) Hadoop2.2.0HAzookeeper3.4.5詳細配置過程體系結構錯誤處理(2) 這篇文章,主要是針對zookeeper和hadoop集群的整體測試,以及自己在實際過程遇到的問題和解決思路。 整個過程是,痛苦
推薦度:
標簽: ha 2.2 (二)
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 精品国产高清自在线一区二区三区 | 国产精品…在线观看 | 久久精品亚洲欧美日韩久久 | 亚洲视频大全 | 国产特级黄色片 | 国产精品视频99 | 国产区一区 | 97久久精品一区二区三区 | 亚洲欧美日本在线观看 | 欧美三级一区二区 | 久久国产精品免费一区二区三区 | 偷拍亚洲欧美 | 免费精品国产 | 国产一区二区精品久久凹凸 | 亚洲精品一线二线三线 | 国产成人精品久久 | 在线欧美色图 | 日韩影音| 国产成人精品.一二区 | 亚洲色图欧美激情 | 亚洲精彩视频在线观看 | 成人亚洲国产精品久久 | 一区二区三区免费电影 | 亚洲视频免费观看 | 日韩欧美激情视频 | 亚洲精品视频免费在线观看 | 欧美精品第1页在线播放 | 国产精品亚洲专区在线观看 | 国产91精品对白露脸全集观看 | 精品国产一区二区三区2021 | 国产成人精品久久亚洲高清不卡 | 在线看精品 | 欧美色图在线观看 | 美女网站全黄 | 亚洲高清视频一区 | 日韩免费观看 | 亚洲视频一区二区 | 国产日韩精品欧美一区视频 | 欧美三级一区 | 国产亚洲一区二区三区在线观看 | 国产精品亚洲欧美一区麻豆 |