Hbase 部署中的几个问题解决.

1.问题:

  1. 关于AWS,S3之类的错误.
  2. Hmaster没有 或者是 Hmaster启动之后几秒关闭.
  3. 解决问题’3’后HRegionServer 启动之后几秒关闭.

2.方法:

  1. 看日志,但是要分清看的是 Hmaster日志,和 HRegionServer日志,以及 *.log日志,*.out日志.
  2. 善用Google. 所谓善用, 搜索词的选择,用英文还是中文.
  3. 最后发现是缺jar包。

3.具体解决

1. 关于AWS,S3之类的错误.

解决方法就是:
思路: 将Hadoop下的jar包复制到hbase下,还有那个aws的jar包。

// 拷贝 Hadoop下的包到hbase
find /home/hadoop/software/hadoop/share/hadoop -name "hadoop*jar" | xargs -i cp {} /home/hadoop/software/hbase/lib/

// 拷贝aws*.jar
find /home/hadoop/software/hadoop/share/hadoop -name "aws*jar" | xargs -i cp {} /home/hadoop/software/hbase/lib/

再次使用“start-hbase.sh”启动,可以看到

HMaster
2. Hmaster进程没有或者是几秒后消失

解决掉问题1中的错误之后,没有了关于AWS的报错,执行命令”start-hbase.sh”之后,”jps”一看,少了Hmaster。

看日志是解决问题的先决条件.

思路: hbase-site.xml配置文件

具体解决方法:

    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://new1data/hbase</value>
   </property>
正确的做法是**要写hdfs的集群名称**,自己继承过来的部署文档没有出错或是没有更新.
注意,这里是要看hbase-hadoop-master-$HOST.log 日志,不是其他日志,这样才能正确定位到出错位置.


修改配置文件中关于ZooKeeper的配置.
增加以下一段设置:

    <!--运行hbase的用户有写入文件权限的目录作为zookeeper数据目录 -->
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/opt/software/zookeeper/data</value>
    </property>
3. 解决问题’2’后HRegionServer 启动之后几秒关闭.
执行zkClient.sh进入zk客户端,
ls /查看目录结构,应该有一个hbase目录,rmr  /hbase,删除这个目录,
重新启动habse,应该就没问题了,这步很关键,很容易忽略,让zk重新注册hbase.
这种推倒重来,釜底抽薪的办法有时候很管用.

更新文档
记录问题解决思路,方法,症结

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章