nn是hdfs的核心,一旦破壞,hadoop整個系統將癱瘓。hadoop2.2.0提供了nn ha,提高了nn的可用性。但如果發生了nn故障轉移,那麼需要處理故障點。本實驗主要是針對nn故障轉移的幾種情況的處理:
實驗一:原active nn意外掛程式機或jvm溢位等原因造成,但原active nn檔案系統完好
實驗二:原active nn元資料損壞或重新部署新的nn
本實驗環境搭建指導:
hdfs ha系列實驗之二:ha+journalnode+zookeeper
: 根據上面相關資料重新配置ha+journalnode+zookeeper環境,並格式化後啟動,然後使用物理機192.168.100.111(機器名wyy)作為客戶端來訪問集群。
[hadoop@product201 hadoop220]$ bin/hdfs namenode -format
[hadoop@product201 hadoop220]$ bin/hdfs zkfc -formatzk
[hadoop@product201 hadoop220]$ sbin/hadoop-daemon.sh start zkfc
[hadoop@product202 hadoop220]$ sbin/hadoop-daemon.sh start zkfc
[hadoop@product201 hadoop220]$ sbin/hadoop-daemon.sh start namenode
[hadoop@product202 hadoop220]$ bin/hdfs namenode -bootstrapstandby
[hadoop@product202 hadoop220]$ sbin/hadoop-daemon.sh start namenode
[hadoop@product201 hadoop220]$ sbin/hadoop-daemons.sh start datanode
1:實驗一
客戶端通過http://product201:50070可以發現product201處於active狀態
客戶端通過http://product202:50070可以發現product202處於standby狀態
重啟product201(因為沒有zookeeper和jn程序在跑,可以直接重新啟動來模擬機器故障),這時:
客戶端通過http://product201:50070已經無法訪問
客戶端通過http://product202:50070可以發現product202處於active狀態
此時檔案操作正常
啟動product201的nn守護程序
[hadoop@product201 hadoop220]$ sbin/hadoop-daemon.sh start zkfc
[hadoop@product201 hadoop220]$ sbin/hadoop-daemon.sh start namenode
客戶端通過http://product201:50070可以發現product201處於standby狀態
客戶端通過http://product202:50070可以發現product202處於active狀態
此時檔案操作正常
在product202上kill dfszkfailovercontroller程序和namenode程序,模擬product202故障,
[hadoop@product202 hadoop220]$ jps
2374 namenode
2472 journalnode
2558 dfszkfailovercontroller
2930 jps
1706 quorumpeermain
[hadoop@product202 hadoop220]$ kill 2374
[hadoop@product202 hadoop220]$ kill 2558
[hadoop@product202 hadoop220]$ jps
2472 journalnode
2998 jps
1706 quorumpeermain
這時:客戶端通過http://product201:50070可以發現product201處於active狀態
客戶端通過http://product202:50070已經無法訪問
在客戶端上傳檔案
found 4 items
-rw-r--r-- 3 hadoop supergroup 258570165 2014-02-23 15:21 /test/2013.txt
-rw-r--r-- 3 hadoop supergroup 25721132 2014-02-23 15:28 /test/ip.txt
-rw-r--r-- 3 hadoop supergroup 7118627 2014-02-23 16:42 /test/access_log.txt
-rw-r--r-- 3 hadoop supergroup 1572 2014-02-23 17:07 /test/demo.txt
然後重啟product202
[hadoop@product202 hadoop220]$ sbin/hadoop-daemon.sh start zkfc
[hadoop@product202 hadoop220]$ sbin/hadoop-daemon.sh start namenode
[hadoop@product202 hadoop220]$ bin/hdfs haadmin -failover nn1 nn2
客戶端通過http://product201:50070可以發現product201處於standby狀態
客戶端通過http://product202:50070可以發現product202處於active狀態
可以發現客戶端新上傳的檔案在product202中可以瀏覽。
2:實驗二
在product201處於standby之後重啟,然後刪除hadoop的資料檔案來模擬實驗環境。
[hadoop@product201 hadoop220]$ rm -rf mydata logs
[hadoop@product201 hadoop220]$ sbin/hadoop-daemon.sh start zkfc
[hadoop@product201 hadoop220]$ bin/hdfs namenode -bootstrapstandby
[hadoop@product201 hadoop220]$ sbin/hadoop-daemon.sh start namenode
客戶端通過http://product201:50070可以發現product201處於standby狀態
客戶端通過http://product202:50070可以發現product202處於active狀態
[hadoop@product201 hadoop220]$ bin/hdfs haadmin -failover nn2 nn1
將product201切換成active nn後,通過http://product201:50070可以瀏覽hdfs中的檔案。
tips:
bin/hdfs namenode -bootstrapstandby只是在最初同步元資料的時候使用
C C 面試之演算法系列 列印 N N 螺旋矩陣
c c 面試之演算法系列 列印n n 螺旋矩陣 via和 emc都曾經筆過這個試題 輸入n,列印n n 矩陣比如 n 3 列印 123894 765n 4 列印 1234 1213145 1116156 10987 螺旋矩陣 include include define right0 define ...
七 css系列之盒子模型
一 盒子模型1.盒子模型是網頁製作中的重要的指導思想 2.盒子模型是網頁布局的基石 3.它認為頁面中所有元素都可以看做是乙個盒子,p div span a img 4.它認為可以通過設定盒子的屬性,進而改變盒子在頁面中的顯示效果 5.它認為頁面中的所有盒子是相互影響 二 盒子模型的屬性 寬度 高度 ...
活動目錄系列之七 信任(上)
在乙個森林環境中,大家想沒想過乙個問題,乙個域使用者不管來自於哪個域,它都可以做兩件事 一是可以不用輸密碼就可訪問森林內任意域的計算機上的共享資源 當然最終能不能訪問,要看許可權的設定,但至少可以直接開啟其計算機 二是可以在任意的計算機上登入到自己的域。為什麼會這樣呢?這其實就是 信任關係 所最終決...