分享

Hadoop2.4的ResourceManager HA高可用配置

desehawk 2014-12-30 16:27:26 发表于 安装配置 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 10 66968

问题导读

1.ResourceManager HA需要修改哪些配置?
2.如何强制切换HA?








Hadoop 2.2没怎么关注过,太新,bug太多。2.4出来以后关注了一些东西,比如2.4里面直接带了ResourceManager的高可用,这点比较吸引人。之前2.2没注意有没有,貌似是没有,然后CDH自己出了一个解决方案,这次2.4的更新直接自己带了,还不错,这样就全了,Namenode有HA和Federation,RM也有了HA,而且也可以通过ZKFC自动做故障切换。大概从2.4开始,Hadoop就可以往生产环境逐渐切换了。


直接记录配置 RM HA 的最小需求和配置项。跟NN的HA一样,RM的HA也需要两台机器硬件配置相同,这个没什么可解释的了,当初1代的时候,NN和SNN就必须是一模一样的硬件配置。就像配置NN的HA一样,RM的HA也需要给出servicename。以下配置是配置RM自动失效恢复的配置项,大概没多少人会用到手动恢复吧,用手动恢复就把zookeeper部分给干掉就行了。

  1. <property>
  2.     <name>yarn.resourcemanager.ha.enabled</name>
  3.     <value>true</value>
  4.   </property>
  5.   <property>
  6.     <name>yarn.resourcemanager.ha.rm-ids</name>
  7.     <value>rm1,rm2</value>
  8.   </property>
  9.   <property>
  10.     <name>yarn.resourcemanager.hostname.rm1</name>
  11.     <value>192.168.1.2</value>
  12.   </property>
  13.   <property>
  14.     <name>yarn.resourcemanager.hostname.rm2</name>
  15.     <value>192.168.1.3</value>
  16.   </property>
  17.   <property>
  18.     <name>yarn.resourcemanager.recovery.enabled</name>
  19.     <value>true</value>
  20.   </property>
  21.   <property>
  22.     <name>yarn.resourcemanager.store.class</name>
  23.     <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
  24.   </property>
  25.   <property>
  26.     <name>yarn.resourcemanager.zk-address</name>
  27.     <value>192.168.1.2:2181,192.168.1.3:2181</value>
  28.     <description>For multiple zk services, separate them with comma</description>
  29.   </property>
  30.   <property>
  31.       <name>yarn.resourcemanager.cluster-id</name>
  32.       <value>yarn-ha</value>
  33.   </property>
复制代码



将配置写入yarn-site.xml里面,然后分别在两台服务器正常启动RM就可以了,就像启动NN HA一样的方式
sudo -u yarn yarn-daemon.sh start resourcemanager
另外,在Hadoop的各种HA中,有个隐藏属性是很多人不知道的,就是强制切换,一般来说,我们通过命令行切换HA,需要去运行


  1. sudo -u hdfs hdfs haadmin -transitionToActive/transitionToStandby
复制代码


或者
  1. sudo -u yarn yarn rmadmin -transitionToActive/transitionToStandby
复制代码


但是,这种方式在启用了ZKFC做自动失效恢复的状态下是不允许修改的,提示信息里只说了可以强制执行,但是没有提供命令,其实强制切换主备命令很简单。加个forcemanual就好了。

  1. sudo -u hdfs hdfs haadmin -transitionToActive --forcemanual nn1
复制代码


但是这样做的后果是,ZKFC将停止工作,你将不会再有自动故障切换的保障,但是有些时候,这是必须的,特别是有时候,Hadoop的NN在ZKFC正常工作的情况下,也会出现两个standby,两个standby的问题就在于诸如Hive和Pig这种东西,会直接报一个什么 Operation category READ is not supported in state standby 什么什么的,甚至你看着明明一个是active,一个是standby,也会报这个错误,这时候就必须手动强制切换了,强制切换完以后,别忘了重新启动ZKFC就好了。这个强制切换的要求就是用户必须没有任何对元数据的操作,这样才能有效的防止脑裂的发生。应该来说,进入安全模式再切换会比较稳妥一些。





已有(10)人评论

跳转到指定楼层
fish_tx 发表于 2014-12-31 09:25:02
没怎么看懂。。。
回复

使用道具 举报

hbu126 发表于 2014-12-31 09:56:58
thanks a lot


回复

使用道具 举报

355815741 发表于 2014-12-31 13:18:13
学习下,也去配个ha,谢谢分享~
回复

使用道具 举报

韩克拉玛寒 发表于 2015-1-14 19:57:28
学习了,今天也是刚把自己2.6版本的HA搭建好
回复

使用道具 举报

desehawk 发表于 2015-1-15 13:30:22
韩克拉玛寒 发表于 2015-1-14 19:57
学习了,今天也是刚把自己2.6版本的HA搭建好
有没有文章可以学习下
回复

使用道具 举报

韩克拉玛寒 发表于 2015-1-17 22:34:38
desehawk 发表于 2015-1-15 13:30
有没有文章可以学习下

你好,请参考 :  HBase+ZooKeeper+Hadoop2.6.0的ResourceManager HA高可用配置有的当时也是参考你的文档在做的,共同学习。
回复

使用道具 举报

suddenly 发表于 2015-3-5 09:35:17
用着了,赞一个!!
回复

使用道具 举报

mjjian0 发表于 2015-4-9 16:45:22
好奇怪我配完后,出现了两个 active转改的resourcemanager,怎么回事啊
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条