一、背景
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、网站设计、费县网络推广、小程序设计、费县网络营销、费县企业策划、费县品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供费县建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
目前namenode使用了ha的部署模式,但系统会经常出现ha的自动切换(namenode节点其实正常)。经过调研发现可能的原因如下:
HealthMonitor check本地namenode的rpc端口时超时,导致HealthMonitor认为namenode挂掉。
zk上的session timeout,导致丢掉当前持有的active锁(temp节点),引起自动切换。
二、优化
下面的优化将针对1)和2)调整相应的超时参数,看是否起效。修改core-site.xml
ha.health-monitor.rpc-timeout.ms 300000 ha.zookeeper.session-timeout.ms 180000
无,不需要重启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任务