hadoop 異常及處理總結-01(小馬哥-原創)


 

試驗環境:

  本地:MyEclipse

  集群:Vmware 11+ 6台 Centos 6.5

  Hadoop版本: 2.4.0(配置為自動HA)

試驗背景:

     在正常測試MapReduce(下簡稱MR)程序4次之后,進行一次新的MR程序,MyEclipse的控制台信息卡住不動了,我通過遠程連接NameNode查看系統目錄也被卡住,這時候再看MyEclipse控制台,發現已經拋出異常如下:

org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.StandbyException): Operation category READ is not supported in state standby

通過Web頁面查看兩個NameNode狀態,均已經變成Standby,這讓我很是奇怪,在自動故障恢復的集群配置下,竟然也會有全部變成備用的情況出現.

防止有人無常拷貝:加個作者鏈接:http://www.cnblogs.com/hadoop2015/

 

解決方法:

方法1:(結果不起作用)

我通過Shell命令方式,hadoop/bin/hdfs haadmin -failover --forceactive hadoop2 hadoop1(注意,這種方式本來是在手動故障恢復中進行強制切換NameNode的做法)

返回結果,不支持,並且誠懇的提示,這種方式是在手動故障轉移的情況下,該命令才會起作用

方法2:(奏效)

我使用JPS檢查了一下ZooKeeper集群的狀態,發現沒有任何征兆的失效了兩個,原來是ZK的原因,於是重新啟動ZK集群

然后重新啟動ZKFailoverController(DFSZKFailoverController):沒有這個角色存在,自然不會自動切換NameNode了

 

得到的教訓,雖然NameNode通過HA機制,已經比Hadoop1可靠了,但是ZK集群一定要保證數量,我僅僅設置了三個節點的ZK集群,而ZK集群的可靠要保證:活動的ZK節點數量>(ZK節點總數-1)/2.所以,多多的設置ZK集群的節點才是王道.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM