HBase学习(二)——完全分布式安装

一、下载地址

http://archive.apache.org/dist/hbase/ 在里面找想要安装的hbase版本,我这里选择的是hbase-1.1.6版本。

二、安装步骤

注意:安装hbase的前提是你已经搭建好了hadoop集群和zookeeper集群。如若没有,可先参考我的这2篇文章完成搭建。
搭建hadoop集群:https://www.jianshu.com/p/31dd88692c7e
搭建zookeeper集群:https://www.jianshu.com/p/520059b39b89

  • 1、上传hbase安装包到linux集群中


    图片.png
  • 2、解压hbase安装包到指定的目录

    图片.png

  • 3、修改/etc/profile文件,使用命令vi /etc/profile,4台机器都要配置环境变量,加入以下内容,就是配置hbase安装路径。

HBASE_HOME=/usr/hbase
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${HBASE_HOME}/bin

修改好就使用命令 source /etc/profile重新载入配置文件

  • 4、之后修改hbase-env.sh配置文件,如下图
    图片.png
  • 5、修改hbase-site.xml配置文件,如下

    
        hbase.rootdir
        hdfs://master:9000/hbase
    
    
        hbase.cluster.distributed
        true
    
    
    hbase.master.port
    16000
    
    
        hbase.zookeeper.quorum
        jiangxb1,jiangxb2,jiangxb3
    
    
    
        hbase.zookeeper.property.dataDir
        /usr/zookeeper-3.4.14/zkData
    
     
        hbase.tmp.dir 
        /usr/local/hbase/data 
    


  • 6、之后在conf/regionservers文件中加入所有Region服务的主机名,即从机器
    图片.png
  • 7、配置完主机的hbase环境后,使用命令scp -r hbase jiangxb1:/usr/远程发送hbase到各台从机器。
  • 8 、之后先开启hadoop集群,再用命令start-hbase.sh开启hbase,如下图结果
    图片.png

三、期间报错解决

  • 1、停止hbase时报错:no zookeeper to stop because no pid file /tmp/hbase-root-zookeeper.pid
    图片.png
    这个报错原因是我个人大意导致,配置hbase/conf/hbase-env.sh下的export HBASE_MANAGES_ZK=false属性输入错了,输入成了export HBASE_MANAGES_ZK_false,这才导致报错。
  • 2、报错现象:开启hbase节点刚开始成功,jps是可以主从机器的hbase进程启动了,但是隔了一会使用hbase shell操作hbase的时候就发现HRegionServer进程启动不了,翻看日志寻找原因如下:可能由于软硬件问题导致hbase连接超时了。
    图片.png
    参考第一次解决方案文章:https://blog.csdn.net/u012630060/article/details/70789559,修改完重启了hbase下,但是这并没有解决我的问题,还是又报错连接超时,于是再查找另一篇资料,提到可能是三台机器节点是日期时间不一致,才会导致连接超时。于是开始排错,输入命令date查看三台机器节点当前系统时间,果然是不一致,主机器快了一天,于是修改主机器系统时间,如下图操作:
    图片.png
    现在再次重启hbase就可以了,不报连接超时了,也不报错:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing这个错误信息了。 如下:
    图片.png

附期间参考文章:
1、hbase安装常见报错:https://www.jianshu.com/p/91b6a50b2293
2、端口号被占用问题:https://www.cnblogs.com/qinxu/p/9263235.html
3、启动hbase异常:https://blog.csdn.net/qq_34148646/article/details/78971116
4、linux修改系统时间日期:https://www.cnblogs.com/morganchen/p/9437066.html

你可能感兴趣的:(HBase学习(二)——完全分布式安装)