• hbase分布式集群搭建


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

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

    环境准备

    hbase软件包: http://mirror.bit.edu.cn/apache/hbase/1.3.1/hbase-1.3.1-bin.tar.gz
    完成hadoop集群环境搭建
    安装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
    修改系统变量ulimit

    ulimit -n 10240

    配置文件

    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

    hbase.rootdir hdfs://hadoop-master:9000/hbase hbase.cluster.distributed true hbase.master hadoop-master:60000 hbase.zookeeper.quorum hadoop-master,hadoop-slave1,hadoop-slave2,hadoop-slave3 配置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中添加连接时长的属性

    hbase.master.maxclockskew 120000
  • 相关阅读:
    特性标签的灵活使用
    算法实例题
    网络抓包工具
    vs2010
    .NET Remoting vs Web Service
    电子商务网站设计学习
    EXCEL导出
    C# 16进制与字符串、字节数组之间的转换
    DES加密
    DataGridView生成CSV,XML 和 EXCEL文件
  • 原文地址:https://www.cnblogs.com/suway/p/9607015.html
Copyright © 2020-2023  润新知