您好,登錄后才能下訂單哦!
一、背景
目前namenode使用了ha的部署模式,但系統會經常出現ha的自動切換(namenode節點其實正常)。經過調研發現可能的原因如下:
HealthMonitor check本地namenode的rpc端口時超時,導致HealthMonitor認為namenode掛掉。
zk上的session
timeout,導致丟掉當前持有的active鎖(temp節點),引起自動切換。
二、優化
下面的優化將針對1)和2)調整相應的超時參數,看是否起效。修改core-site.xml
<!-- HealthMonitor check namenode 的超時設置,默認50000ms,改為5mins --> <property> <name>ha.health-monitor.rpc-timeout.ms</name> <value>300000</value> </property> <!-- zk failover的session 超時設置,默認5000ms,改為3mins --> <property> <name>ha.zookeeper.session-timeout.ms</name> <value>180000</value> </property>
無,不需要重啟hadoop,不會引起namenode切換
下面操作假設master1(active),master2(standby),只有按照該順序操作,才能實現namenode不切換
1)登陸master2(standby),注釋掉crontab中的restart-zkfc.sh任務,
執行
sbin/hadoop-daemon.sh stop zkfc
2)登陸master1(active),注釋掉crotab中的restart-zkfc.sh任務,執行
sbin/hadoop-daemon.sh stop zkfc
3)備份master1和master2的core-site.xml文件,將上述配置項加到master1和master2的core-site.xml配置文件中
4)登陸master1(active),執行
sbin/hadoop-daemon.sh start zkfc
5)登陸master2(standby),執行
sbin/hadoop-daemon.sh start zkfc
6)check
hadoop集群狀態
7)重要!!!
登錄master1和master2,恢復crontab中的restart-zkfc.sh任務
8)完成
1)需要先注釋掉機器上的crontab任務restart-zkfc.sh,否則該程序會自動拉起zkfc進程。導致namenode
active產生切換
2)任務完成后要恢復crontab中注釋掉的restart-zkfc.sh任務
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。