最近,想弄一个hadoop高可用方案,折腾了好久,把搭建过程中的一些问题,记录下来,备日后查询。


环境:centos 6.5 64位,jdk 1.7.0_79,hadoop2.5.1,hbase1.2.1,zookeeper3.4.6

 机器四台:master,slave1,slave2,slave3

 其中:namenode:master,slave1

            HMaster:master,slave1

            regionserver:slave1,slave2,slave3

             journalnode:master,slave1,slave2

             zookeeper:slave1,slave2,slave3

 

  具体配置过程,参考了这篇博客,hadoop HA 集群搭建  和 Hadoop HA高可用集群搭建,这里具体记录一下 遇到的

问题和解决办法:


  1  配置完以后,执行hdfs zkfc -formatZK时一直报错:HA is not enabled for this namenode.,纠结了两天,最后翻

源码,终于发现,是hdfs的dfs.namenode.rpc-address.gagcluster.nn1写成了namenodes,多了一个s

  

2  配置完成以后,执行start-hbase.sh,只能启动hmaster,regionserver和备用hmaster无法启动,一直报无法解析

HA的别名gagcluster,也就是core-site.xml里配置的fs.defaultFS的值,hdfs://gagcluster:9000,这里的这个

gagcluster,解决办法就是将hadoop的hdfs-site.xml和core-site.xml放到hbase的conf下。


其实整个过程就是一直在改配置文件。


ps:配置了HA之后,secondaryname是不启动的,如果用hadoop-daemon强行启动,报错, Cannot use 

SecondaryNameNode in an HA cluster. The Standby Namenode will perform checkpointing.

standby的namenode一直在执行secondarynamenode的作用,不需要再启动secondarynamenode。





Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐