問題描述:今天啟動集群環境測試namenodeha的時候,發現停掉節點1的namenode後,節點2的namenode無法切換為active,仍然處於standby狀態,重新啟動停掉的節點1的namenode後,節點2的namenode會切換到active狀態,節點1的namenode變成standby狀態。
錯誤截圖:
原因:
檢視圖1發現可能和sshfence有關,查閱資料才知道,active狀態的namenode出現故障時,通過哪種方式切換standby狀態的namenode是通過hdfs-site.xml檔案中的dfs.ha.fencing.methods引數決定的。
解決方法:
本人的配置檔案hdfs-site.xml:
<
!-- 配置隔離機制 --
>
dfs.ha.fencing.methods<
/name>
sshfence<
/value>
<
/property>
<
!-- 使用隔離機制時需要ssh免登陸 --
>
dfs.ha.fencing.ssh.
private
-key-files<
/name>
/home/hadoop/
.ssh/id_rsa<
/value>
<
/property>
dfs.ha.fencing.ssh.private-key-files引數用來指定存放ssh免密登入到另乙個節點的私鑰的路徑,此處設定的是hadoop使用者下的私鑰路徑,所以切換到hadoop使用者下啟動集群就可以了,root使用者下會報錯。
補充:
在此感謝troyong的文章!!!
關於STL erase的iterator失效問題
iterator中文經常被譯為 泛型指標 在實際的使用中卻需要比指標更加小心翼翼。如果沒有注意到iterator失效,那麼產生的錯誤可能比普通指標更隱蔽,當然也可能會引起一般的程式異常。iterator失效主要有兩種情況 1 iterator變數已經變成了 野指標 對它進行 都會引起程式記憶體操作異...
關於java微信access token失效的處理
access token的有效期是7200秒 兩小時 在有效期內,可以一直使用,只有當access token過期時,才需要再次呼叫介面獲取access token。在理想情況下,乙個7x24小時執行的系統,每天只需要獲取12次access token,即每2小時獲取一次。如果在有效期內,再次獲取a...
關於執行vue專案安裝node sass失敗的問題
最近在匯入別人的vue專案,在我本地執行,然後總是提示 node sass not found 今天幾天的摸索和參考,現在分享哈我的解決辦法。node sass 安裝失敗的原因無非就那兩種,一種是映象源的問題,一種是本地快取的問題,而我的解決辦法主要是通過在本地快取來解決的,而在本地需要乙個 bin...