hadoop(ha)+hbase

来源:互联网 发布:jdbc连接数据库5个步骤 编辑:程序博客网 时间:2024/06/05 18:52

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