资源规划

组件 LTSR003 LTSR005 LTSR006 LTSR007 LTSR008
OS centos7.6 centos7.6 centos7.6 centos7.6 centos7.6
JDK jvm jvm jvm jvm jvm
Zookeeper N.A QuorumPeerMain QuorumPeerMain QuorumPeerMain N.A
HBase HMaster/HRegionServer HRegionServer HRegionServer N.A N.A

安装介质

  1. 版本:hbase-1.2.5-bin.tar.gz<br /> 下载:[http://archive.apache.org/dist/hbase/1.2.5](http://archive.apache.org/dist/hbase/1.2.5)

环境准备

安装JDK

参考:《 CentOS7.6-安装JDK-1.8.221

安装ZooKeeper

   参考:《[CentOS7.6-安装ZooKeeper-3.4.10](https://www.yuque.com/polaris-docs/test/centos-setup-zookeeper)》

安装Hbase

解压缩

# 先在节点LTSR003上安装,之后分发到LTSR005、LTSR006
cd ~/software/
wget http://archive.apache.org/dist/hbase/1.2.5/hbase-1.2.5-bin.tar.gz
tar -zxvf hbase-1.2.5-bin.tar.gz -C ~/modules/
rm -rf hbase-1.2.5-bin.tar.gz

配置

  1. 配置hbase-env.sh。

    vi ~/modules/hbase-1.2.5/conf/hbase-env.sh
    

    配置如下:

    # 设置JAVA的环境变量
    export JAVA_HOME=/home/bigdata/modules/jdk1.8.0_221
    # 设置是否使用hbase自带的zookeeper
    export HBASE_MANAGES_ZK=false
    
  2. 配置hbase-site.xml。

    rm -rf ~/modules/hbase-1.2.5/conf/hbase-site.xml
    vi ~/modules/hbase-1.2.5/conf/hbase-site.xml
    

    配置如下:

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>    
           <property>
               <name>hbase.rootdir</name>
               <value>hdfs://192.168.0.18:9000/hbase</value>  
       </property>
       <!-- 完全分布模式 -->
       <property>
               <name>hbase.cluster.distributed</name>
               <value>true</value>
       </property>
       <!-- 0.98后的新变动,之前版本没有.port,默认端口为60000 -->
       <property>
               <name>hbase.master.port</name>
               <value>16000</value>
       </property>
       <property>
               <name>hbase.zookeeper.quorum</name>
               <value>10.8.0.109:2181,10.8.0.137:2181,10.8.0.117:2181</value>
       </property>
       <property>
               <name>hbase.zookeeper.property.dataDir</name>
                    <value>/home/bigdata/modules/zookeeper-3.4.10/data</value>
       </property>
       <property>
               <name>hbase.master.ipc.address</name>
                    <value>0.0.0.0</value>
       </property>
       <property>
               <name>hbase.regionserver.ipc.address</name>
                    <value>0.0.0.0</value>
       </property>
       <property>
                       <name>hbase.zookeeper.property.maxClientCnxns</name>
                         <value>500</value>
       </property>
    </configuration>
    
  3. 配置regionservers。

    vi ~/modules/hbase-1.2.5/conf/regionservers
    

    配置如下:

    LTSR003
    LTSR005
    LTSR006
    
  4. 配置backup-masters。(注: 如需配置Master的高可用(HA),需要创建backup-masters文件)

    LTSR005
    
  5. 环境变量配置。

    vi ~/.bashrc
    

    配置如下:

    export HBASE_HOME=/home/bigdata/modules/hbase-1.2.5
    export PATH=${HBASE_HOME}/bin:$PATH
    

    分发

    scp -r ~/modules/hbase-1.2.5 bigdata@LTSR005:~/modules/
    scp -r ~/modules/hbase-1.2.5 bigdata@LTSR006:~/modules/
    scp -r ~/.bashrc bigdata@LTSR005:~/
    scp -r ~/.bashrc bigdata@LTSR006:~/
    scp -r ~/.bashrc bigdata@LTSR007:~/
    scp -r ~/.bashrc bigdata@LTSR008:~/
    source ~/.bashrc  # 各节点分别执行
    

    分别对LTSR003、LTSR005、LTSR006创建hadoop配置文件软连接。

    ln -s ~/modules/hadoop-2.7.2/etc/hadoop/core-site.xml  ~/modules/hbase-1.2.5/conf/core-site.xml
    ln -s ~/modules/hadoop-2.7.2/etc/hadoop/hdfs-site.xml  ~/modules/hbase-1.2.5/conf/hdfs-site.xml
    

    启动HBase

    # 启动HBase集群(分别先启动Hadoop、ZooKeeper集群)
    $HBASE_HOME/bin/start-hbase.sh
    # 停止整个集群
    $HBASE_HOME/bin/stop-hbase.sh
    # 单独启动一个HMaster进程
    $HBASE_HOME/bin/hbase-daemon.sh start master
    # 单独停止一个HMaster进程
    $HBASE_HOME/bin/hbase-daemon.sh stop master
    # 单独启动一个HRegionServer进程
    $HBASE_HOME/bin/hbase-daemon.sh start regionserver
    # 单独停止一个HRegionServer进程
    $HBASE_HOME/bin/hbase-daemon.sh stop regionserver
    

    验证

  6. 进入终端。

    hbase shell
    
  7. 创建一张表。

    hbase shell>> create 't_user', {NAME => 'info', VERSIONS => '3'},{NAME => 'data'}
    
  8. 向表中添加数据。

    hbase shell>> put 't_user', 'rk0001', 'info:name', 'zhangsan'
    hbase shell>> put 't_user', 'rk0001', 'info:gender', 'female'
    hbase shell>> put 't_user', 'rk0001', 'info:age', 20
    hbase shell>> put 't_user', 'rk0001', 'data:pic', 'picture'
    
  9. 查询、更新以及删除操作。

    # 查询有哪些表
    hbase shell>> list
    # 通过rowkey查询
    hbase shell>> get 't_user', 'rk0001'
    # 更新数据操作
    hbase shell>> alter 't_user', NAME => 'info', VERSIONS => 5
    # 指定rowkey以及列名进行删除
    hbase shell>> delete 't_user', 'rk0001', 'info:name'
    # 删除表
    hbase shell>> disable 't_user'
    hbase shell>> drop 't_user'
    
  10. 可以通过页面访问查看表的信息和集群状态。

Web UI:http://LTSR003:16010