Hbase集群安装

前置条件

  • Zookeeper集群安装并运行
  • Hadoop集群安装并运行
  • Java8已安装

版本选择

根据官网的版本提示自行选择要匹配的版本: https://hbase.apache.org/book.html#basic.prerequisites

在这里,我的hadoop-2.7.7,选择的Hbase版本为hbase-1.4.13

安装

Zookeeper集群安装

参考: https://www.cnblogs.com/liuyinzhou/p/13495474.html

Hadoop集群安装

参考: https://www.cnblogs.com/liuyinzhou/p/13495503.html

Hbase安装

下载安装包

下载地址: http://mirrors.hust.edu.cn/apache/hbase/1.4.13/hbase-1.4.13-bin.tar.gz

修改配置文件

修改hbase-env.sh

export JAVA_HOME=/usr/local/java
export HBASE_MANAGES_ZK=false

注释以下两行

# export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10101"
# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10102"

修改hbase-site.xml

<configuration>
        <property>
                <!-- 指定 hbase 在 HDFS 上存储的路径 -->
                <name>hbase.rootdir</name>
                <value>hdfs://master:9000/hbase</value>
        </property>
        <property>
                <!-- 指定 hbase 是分布式的 -->
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <property>
                <!-- 指定 zk 的地址,多个用“,”分割 -->
                <name>hbase.zookeeper.quorum</name>
                <value>master:2181,slave:2181</value>
        </property>
</configuration>

注意:hbase.rootdir中HDFS的地址一定要与Hadoop配置文件core-site.xml中配置相同!!!

修改regionserver

master
slave

修改backup-masters

slave

backup-masters可以有多个且在不同的节点上,在集群启动时会在相应的节点启动HMaster进程做高可用

配置环境变量

export JAVA_HOME=/usr/local/java
export HBASE_HOME=/opt/hbase-1.4.13
export HADOOP_HOME=/opt/hadoop-2.7.7
export HADOOP_CONF_DIR=/opt/hadoop-2.7.7/etc/hadoop
export PATH=$JAVA_HOME/bin:$HBASE_HOME/bin:$HADOOP_HOME/sbin:$PATH

确保所有节点已配置且生效,其中,若不配置HBASE_HOME环境变量会导致Hbase无法找到Hadoop相关依赖从而导致启动失败

同步集群时钟

HBase 集群对于时间的同步要求的比 HDFS 严格,所以,集群启动之前千万记住要进行时钟同步,要求相差不要超过 30s.

分发安装包

yizhou@master:/opt/hbase-1.4.13$ scp -r /opt/hbase-1.4.13 slave:/opt/

集群启动

验证Zookeeper集群

在所有节点上执行

yizhou@master:/opt/zookeeper-3.4.14$ ./bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

yizhou@slave:/opt/zookeeper-3.4.14$ ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: leader

验证Hadoop集群

yizhou@master:~$ jps
9283 NodeManager
8629 DataNode
8421 NameNode
9449 Jps
8926 ResourceManager

yizhou@slave:/opt/zookeeper-3.4.14$ jps
3616 Jps
3010 HRegionServer
13234 NodeManager
12099 QuorumPeerMain
13092 SecondaryNameNode
3225 HMaster
12923 DataNode

启动Hbase

在哪一个节点执行,哪一个节点就是HMaster

yizhou@master:/opt/hbase-1.4.13$ ./bin/start-hbase.sh 
running master, logging to /opt/hbase-1.4.13/logs/hbase-yizhou-master-master.out
master: running regionserver, logging to /opt/hbase-1.4.13/bin/../logs/hbase-yizhou-regionserver-master.out
slave: running regionserver, logging to /opt/hbase-1.4.13/bin/../logs/hbase-yizhou-regionserver-slave.out
slave: running master, logging to /opt/hbase-1.4.13/bin/../logs/hbase-yizhou-master-slave.out

验证Master节点

yizhou@master:/opt/zookeeper-3.4.14$ jps
16483 HMaster
9283 NodeManager
8629 DataNode
8421 NameNode
9880 QuorumPeerMain
8926 ResourceManager
21982 Jps
16718 HRegionServer

在Master节点上出现了HMaster和HRegionServer进程,master节点启动成功!
验证其余Slave节点

yizhou@slave:/opt/zookeeper-3.4.14$ jps
3616 Jps
3010 HRegionServer
13234 NodeManager
12099 QuorumPeerMain
13092 SecondaryNameNode
3225 HMaster
12923 DataNode

在上面的配置文件中,我们设置了后备HMaster是slave,且slave也是HRegionServer,故在slave节点上有HMaster和HRegionServer两个进程,故slave节点启动正常.
若出现了部分slave节点启动失败,可以使用以下名称手动启动HRegionServer

yizhou@master:/opt/hbase-1.4.13$ ./bin/hbase-daemon.sh start regionserver

WEB UI

默认地址: http://master:16010/master-status

至此,Hbase集群启动成功!

原文地址:https://www.cnblogs.com/liuyinzhou/p/13497985.html