HBASE安装

单机版本安装

安装环境:ubuntu_16.04+java_8u191 前置条件:安装java hadoop-2.7.7 对于版本的选择,`请查看官方说明文档。<http://hbase.apache.org/book.html>`_. HBase单机伪分布式模式配置安装步骤,以hadoop为存储底层。 1.获取软件安装包。点此获得软件包下载地址. 2.解压软件包到安装目录,设置的安装目录为/opt。

root@ubuntu:/opt# tar -xzvf hbase-2.1.1-bin.tar.gz -C /opt
root@ubuntu:/opt# mv hbase-2.1.1/ hbase
  1. 给文件赋予访问权限.前提,已经创建hadoop用户。
chown -R hadoop:hadoop hbase
  1. 配置环境变量。并使配置生效。
# vi /home/hadoop/.bashrc # 在文件末尾追加:
export PATH=$PATH:/opt/hbase/bin
# source /home/hadoop/.bashrc

查看HBase版本,确定HBase是否安装成功,命令如下:

hadoop@ubuntu:/opt/hbase$ hbase version
    Error: Could not find or load main class org.apache.hadoop.hbase.util.GetJavaProperty
    SLF4J: Class path contains multiple SLF4J bindings.
    SLF4J: Found binding in [jar:file:/opt/hadoop-2.7.7/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/opt/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
    SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
    HBase 2.1.1
    Source code repository git://kalashnikov.local/Users/stack/checkouts/hbase revision=b60a92d6864ef27295027f5961cb46f9162d7637
    Compiled by stack on Fri Oct 26 19:27:03 PDT 2018
    From source with checksum 25696727867a6ae76c16a9bfb05ac677

配置/opt/hbase/conf/hbase-env.sh,配置JAVA_HOME,HBASE_CLASSPATH,HBASE_MANAGES_ZK. HBASE_CLASSPATH设置为本机Hadoop安装目录下的conf目录(即/opt/hadoop-2.7.7/etc/hadoop),在该文件的最前面,添加如下三行内容:

export JAVA_HOME=/usr/lib/jdk
export HBASE_CLASSPATH=/opt/hadoop-2.7.7/etc/hadoop
export HBASE_MANAGES_ZK=true

配置/opt/hbase/conf/hbase-site.xml,添加信息如下:

<configuration>
       <property>
               <name>hbase.rootdir</name>
               <value>hdfs://localhost:9000/hbase</value>
       </property>
       <property>
               <name>hbase.cluster.distributed</name>
               <value>true</value>
       </property>
</configuration>
  1. 启动hbase,并查看hadoop存储变化。
hadoop@ubuntu:/opt/hbase$ ./bin/start-hbase.sh
hadoop@ubuntu:/opt/hbase$ jps
      2944 NameNode
      3301 SecondaryNameNode
      5704 HQuorumPeer
      4152 NodeManager
      5769 HMaster
      5897 HRegionServer
      4029 ResourceManager
      6558 Jps
      3103 DataNode
# 查看hadoop 文件目录.
      hadoop@ubuntu:/opt/hbase$ hdfs dfs -ls /
      Found 2 items
      drwxr-xr-x   - hadoop supergroup          0 2018-12-21 16:08 /hbase
      drwxr-xr-x   - hadoop supergroup          0 2018-12-21 15:39 /user
      hadoop@ubuntu:/opt/hbase$
# 可以看出,已经在hadoop下创建了hbase目录。权限为hadoop。

至此,单机版完成安装。

分布式安装(HA)

安装环境:ubuntu_16.04+java_8u191+zookeeper 前置条件:安装java hadoop-2.7.7 对于版本的选择,`请查看官方说明文档。<http://hbase.apache.org/book.html>`_.

部署拓扑如下:

                          master         master-0        slaver-1       slaver-2        slaver-3
zookeeper                                                     √              √               √
java                        √                √              √              √               √
hadoop                    namenode        namenode       datanode       datanode         datanode
hbase                     Hmaster         Hmaster      HRegionServer  HRegionServer   HRegionServer

1.获取软件安装包。点此获得软件包下载地址. 2.解压软件包到安装目录,设置的安装目录为/opt。

root@ubuntu:/opt# tar -xzvf hbase-2.1.1-bin.tar.gz -C /opt
root@ubuntu:/opt# mv hbase-2.1.1/ hbase
  1. 修改配置文件。在修改配置文件前,在hbase目录下,创建日志存储文件夹和pid使用文件夹。
root@master:/opt/hbase# mkdir logs
root@master:/opt/hbase# mkdir pids

3.1 配置conf/hbase-env.sh文件。

    root@master:/opt/hbase/conf# grep -vE  '^#|^$' hbase-env.sh
    export JAVA_HOME=/usr/lib/jdk
    export HBASE_OPTS="$HBASE_OPTS -XX:+UseConcMarkSweepGC"
    export HBASE_LOG_DIR=${HBASE_HOME}/logs
    export HBASE_PID_DIR=$HBASE_HOME/pids
    export HBASE_MANAGES_ZK=false
export HBASE_CLASSPATH=/opt/hadoop-2.7.7/etc/hadoop

3.2 配置 hbase-site.xml,添加信息如下:

<configuration>

<property>
      <name>hbase.rootdir</name>
      <value>hdfs://cluster-cecgw/user/hbase</value>
  </property>

  <!--指定hbase集群为分布式集群-->
  <property>
      <name>hbase.cluster.distributed</name>
      <value>true</value>
  </property>
  <property>
     <name>hbase.master</name>
     <value>60000</value>
  </property>

  <!--指定zookeeper集群-->
  <property>
      <name>hbase.zookeeper.quorum</name>
      <value>slaver-1:2181,slaver-2:2181,slaver-3:2181</value>
  </property>

</configuration>

3.3 新建backup-masters文件,并添加备用节点 master-0.

3.4 修改regionservers配置文件,加入RegionServer节点列表.

root@master:/opt/hbase/conf# vi regionservers
root@master:/opt/hbase/conf# echo slaver-1 >> regionservers
root@master:/opt/hbase/conf# echo slaver-2 >> regionservers
root@master:/opt/hbase/conf# echo slaver-3 >> regionservers

3.5 将hbase 安装目录,拷贝到master-0,slaver-1,slaver-2,slaver-3节点,修改与hbase相关的文件权限,为hadoop.

3.6 在各个节点上增加hbase环境变量。

vi /home/hadoop/.bashrc

# set hbase environment
export HBASE_HOME=/opt/hbase
export PATH=$PATH:$HBASE_HOME/bin

3.7 启动hbase。

root@master:/opt/hbase/bin# su hadoop-1
hadoop-1@master:/opt/hbase/bin$ start-hbase.sh
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/hadoop-2.7.7/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
running master, logging to /opt/hbase/logs/hbase-hadoop-1-master-master.out
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/hadoop-2.7.7/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
slaver-3: running regionserver, logging to /opt/hbase/bin/../logs/hbase-hadoop-1-regionserver-slaver-3.out
slaver-2: running regionserver, logging to /opt/hbase/bin/../logs/hbase-hadoop-1-regionserver-slaver-2.out
slaver-1: running regionserver, logging to /opt/hbase/bin/../logs/hbase-hadoop-1-regionserver-slaver-1.out
master-0: running master, logging to /opt/hbase/bin/../logs/hbase-hadoop-1-master-master-0.out
3.8 jps可查看hbase状态。
可通过http:://ip:16010 查看hbase状态。

Note

Pre-version。