hadoop(ha)+hbase 搭建中的一个坑
环境说明
hadoop2.6.4
hbase1.1.5
集群规划
namenode: node1 node2
datanode: node3 node4 node5
master: node1
regionserver:node3 node4 node5
zookeeper:node3 node4 node5
hdfs的高可用做完后在core-site.xml中配置了fs.defaultFS=hdfs://ns1
node1>:
start-hbase.sh
在node1上出现了hmaster进程,node3 node4 node5 中也出现了hregionserver,可是神奇的地方出现了,node3 node4 node5中半分钟后hregionserver进程挂掉了.
这时手动启动regionserver(hbase-daemon.sh start regionserver)就有没问题了,可是总不能每次都手动启动很多的regionserver.
解决方案
同步集群时间
ntpdate -u ntp.api.bz
同步时间后启动集群查看错误日志(node3 node4 node5)之后发现报告ns1找不到,那就想办法让hbase能识别在hdfs配置的nameservice—>ns1
把hadoop中配置文件(core-site.xml , hdfs-site.xml)复制到hbase/conf目录下
- 在node1执行start-hbase.sh 发现regionserver都启动了,可是问题又来了,要是修改hdfs中的nameservice名称,那么又要修改复制到hbase中的配置文件,这样肯定很麻烦,接着直接修改hbase-env.sh在其中加入export HBASE_CLASSPATH=/usr/local/hadoop-2.6.4/etc/hadoop 这样就不用复制配置文件了
over