zoukankan      html  css  js  c++  java
  • HBase分布式集群搭建

    本文转载自:https://www.cnblogs.com/ityouknow/p/7343996.html

    hbase和hadoop一样也分为单机版、伪分布式版和完全分布式集群版本,这篇文件介绍如何搭建完全分布式集群环境搭建。

    hbase依赖于hadoop环境,搭建habase之前首先需要搭建好hadoop的完全集群环境,因此看这篇文章之前需要先看我的上一篇文章:hadoop分布式集群搭建。本文中没有按照独立的zookeeper,使用了hbase自带的zookeeper。

    环境准备

    安装hbase

    首先在hadoop-master安装配置好之后,在复制到从节点
    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

    配置环境变量vim /etc/profile

    #内容
    export HBASE_HOME=/usr/local/hbase
    export PATH=$HBASE_HOME/bin:$PATH
    #使立即生效
    source /etc/profile

    配置文件

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

    配置hbase-env.sh

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

    配置 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,hadoop-slave3</value>
        </property>
    </configuration>

    配置regionservers

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

    复制hbase到从节点中

    scp -r /usr/local/hbase hadoop-slave1:/usr/local/
    scp -r /usr/local/hbase hadoop-slave2:/usr/local/
    scp -r /usr/local/hbase hadoop-slave3:/usr/local/

    启动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

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

    错误处理

    在搭建的过程中,报了这么一个错误,错误信息如下:

    Unhandled: org.apache.hadoop.hbase.ClockOutOfSyncException: Server hadoop-slave3,16020,1500526355333
    
    Caused by: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.ClockOutOfSyncException):   
     org.apache.hadoop.hbase.ClockOutOfSyncException:       
     Server hadoop-slave3,16020,1500526355333 has been rejected; Reported time is too far out of sync with  
     master.  Time difference of 77348ms > max allowed of 30000ms

    看大概的意思是主节点连接从节点超时了。可能有两方面的原因,第一、linux服务器时间不一致导致,第二、由于网络其它原因导致连接的时间超长。

    解决方案:

    第一个原因,修改各服务器时间保持一致。最终的解决方案是:设置一个定时使用ntp从某个服务器定时同步时间

    查看定时 
    crontab -l
    编辑
    crontab -e 
    # 内容
    0 */1 * * *  /usr/sbin/ntpdate 192.168.0.12;/sbin/hwclock -w

    手动执行

    #从 0.12同步时间
    /usr/sbin/ntpdate 192.168.0.12

    第二个原因,可以修改hbase默认的最大链接时间长一些。

    HBase配置文件hbase-siter.xml中添加连接时长的属性

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

    参考:
    centos 6.4下hbase 1.0.1 分布式集群搭建


    作者:纯洁的微笑 
    出处:www.ityouknow.com 
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 

    本文如对您有帮助,还请多帮 【推荐】 下此文。 
    如果喜欢我的文章,请关注我的公众号

  • 相关阅读:
    Openstack API 开发 快速入门
    virtualBox虚拟机到vmware虚拟机转换
    使用Blogilo 发布博客到cnblogs
    Openstack Troubleshooting
    hdoj 1051 Wooden Sticks(上升子序列个数问题)
    sdut 2430 pillars (dp)
    hdoj 1058 Humble Numbers(dp)
    uva 10815 Andy's First Dictionary(快排、字符串)
    sdut 2317 Homogeneous squares
    hdoj 1025 Constructing Roads In JGShining's Kingdom(最长上升子序列+二分)
  • 原文地址:https://www.cnblogs.com/wpcnblog/p/9167058.html
Copyright © 2011-2022 走看看