美文网首页
Hbase集群搭建

Hbase集群搭建

作者: 远方的猫dj | 来源:发表于2018-08-22 18:18 被阅读0次

    hbase依赖于hadoop环境,搭建habase之前首先需要搭建好hadoop的完全集群环境,因此看这篇文章之前需要先看我的上一篇文章:hadoop集群搭建

    环境准备

    安装hbase
    1、首先在hadoop-master安装配置好之后,在复制到从节点(我使用的版本是1.2.6)

    wget http://mirror.bit.edu.cn/apache/hbase/1.3.1/hbase-1.3.1-bin.tar.gz
    #解压
    tar -xzvf hbase-1.3.1-bin.tar.gz  -C /usr/local/
    #重命名 
    mv hbase-1.3.1 hbase
    

    2、配置环境变量

    编辑: vim /etc/profile
    export HBASE_HOME=/home/hbase/hbase
    export PATH=$HBASE_HOME/bin:$PATH
    生效: source /etc/profile
    

    3、修改系统变量ulimit

    ulimit -n 10240

    配置文件

    hbase 相关的配置主要包括hbase-env.sh、hbase-site.xml、regionservers三个文件,都在 /usr/local/hbase/conf目录下面:

    1、配置hbase-env.sh

    vim hbase-env.sh
    #内容
    export JAVA_HOME=/usr/java/jdk1.8.0_152
    export HBASE_CLASSPATH=/home/hbase/hbase/conf
    # 此配置信息,设置由hbase自己管理zookeeper,不需要单独的zookeeper。
    export HBASE_MANAGES_ZK=true
    export HBASE_HOME=/home/hbase/hbase
    export HADOOP_HOME=/home/hadoop/hadoop
    #Hbase日志目录
    export HBASE_LOG_DIR=/home/hbase/hbase/logs
    

    2、配置 hbase-site.xml

    <configuration>
        <property>
            <name>hbase.rootdir</name>
            <value>hdfs://hadoop-master:9000/hbase</value>
        </property>
        <property>
            <name>hbase.cluster.distributed</name>
            <value>true</value>
        </property>
        <property>
            <name>hbase.master</name>
            <value>hadoop-master:60000</value>
        </property>
        <property>
            <name>hbase.zookeeper.quorum</name>
            <value>hadoop-master,hadoop-slave1,hadoop-slave2</value>
        </property>
    </configuration>
    

    3、配置regionservers

    vim /usr/local/hbase/conf/regionservers
    hadoop-slave1
    hadoop-slave2
    

    4、 复制hbase到从节点中

    scp -r /home/hbase/hbase hadoop-slave1:/home/hbase/hbase/
    scp -r/home/hbase/hbase hadoop-slave2:/home/hbase/hbase/
    
    

    启动hbase

    启动仅在master节点上执行即可

    ~/hbase/bin/start-hbase.sh
    启动后,master上进程和slave进程列表

    master中的信息

    [hadoop@master ~]$ jps
    6225 Jps
    2897 SecondaryNameNode   # hadoop进程
    2710 NameNode            # hadoop master进程
    3035 ResourceManager     # hadoop进程
    5471 HMaster             # hbase master进程
    2543 HQuorumPeer         # zookeeper进程
    

    salve中的信息

    [hadoop@slave1 ~]$ jps
    4689 Jps
    2533 HQuorumPeer          # zookeeper进程
    2589 DataNode             # hadoop slave进程
    4143 HRegionServer        # hbase slave进程
    

    因为hbase依赖于hadoop,因此启动和停止都是需要按照顺序进行

    如果安装了独立的zookeeper

    启动顺序: hadoop-> zookeeper-> hbase
    停止顺序:hbase-> zookeeper-> hadoop
    

    使用自带的zookeeper

    启动顺序: hadoop-> hbase
    停止顺序:hbase-> hadoop
    

    重启hbase

    /home/hbase/hbase/bin/stop-hbase.sh
    /home/hadoop/hadoop/sbin/stop-all.sh 
    /home/hadoop/hadoop/sbin/start-all.sh 
    /home/hbase/hbase/bin/start-hbase.sh
    

    hbase UI界面

    错误处理

    1、启动hbase输出ignoring option PermSize=128m; support was removed in 8.0告警信息
    解决办法:
    由于JDK使用的是jdk1.8.0_65
    hbase-env.sh注释掉以下:

    # Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
    export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
    export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
    

    2、hregionserver没有启动

    原因:在slave1、slave2主机中查看CST时间 
    [grid@slave1 bin]$ date 
    2018年 08月 22日 星期三 18:05:23 CST
    在master主机中查看CST时间 
    [grid@master bin]$ date 
    2018年 08月 22日 星期三 18:00:35 CST
    没错主从节点的系统日期是不一样的。 
    解决方法:把master主机的时间设置成和slave主机时间一致 
    [root@master bin]# date -s 18:06:00
    2018年 08月 22日 星期三 18:06:00 CST
    

    第二个原因,可以修改hbase默认的最大链接时间长一些。
    HBase配置文件hbase-siter.xml中添加连接时长的属性

    <property>
        <name>hbase.master.maxclockskew</name>
        <value>120000</value>
     </property>
    

    参考:纯洁的微笑:hbase分布式集群搭建

    相关文章

      网友评论

          本文标题:Hbase集群搭建

          本文链接:https://www.haomeiwen.com/subject/mtpyiftx.html