HBase-集群安装

需要先启动 HDFS 集群和 ZooKeeper 集群。

Hadoop 集群安装:https://www.cnblogs.com/jhxxb/p/10629796.html

ZooKeeper 集群安装:https://www.cnblogs.com/jhxxb/p/10744264.html

zkServer.sh start
start-dfs.sh

# 不启动 yarn 也可以
start-yarn.sh

一、安装

curl -o /opt/hbase-2.2.1-bin.tar.gz http://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.2.1/hbase-2.2.1-bin.tar.gz

tar -zxf /opt/hbase-2.2.1-bin.tar.gz -C /opt/

二、配置

hbase-env.sh

vim /opt/hbase-2.2.1/conf/hbase-env.sh


# The java implementation to use.  Java 1.8+ required.
export JAVA_HOME=/opt/jdk1.8.0_202/

# 不使用自带的 ZK
# Tell HBase whether it should manage it's own instance of ZooKeeper or not.
export HBASE_MANAGES_ZK=false

若是之前的版本还需注释两行配置,不然会报一些警告日志。

hbase-site.xml

可配置项在 hbase-default.xml 中,hbase-default.xml 在 lib/hbase-common-x.x.x.jar 中。

也可在线浏览:https://gitbox.apache.org/repos/asf?p=hbase.git;a=blob;f=hbase-common/src/main/resources/hbase-default.xml;hb=HEAD,或是 GitHub 上。

<configuration>
  <!-- 数据在 HDFS 上的路径-->
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://h136:9000/HBase</value>
  </property>

  <!-- 默认 false,为单机模式 -->
  <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>h136,h138,h140</value>
  </property>

  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/opt/apache-zookeeper-3.5.5-bin/zkData</value>
  </property>

  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>
</configuration>

regionservers

配置 HBase 集群

h136
h138
h140

软连接 hadoop 配置文件到 HBase

ln -s /opt/hadoop-2.9.2/etc/hadoop/core-site.xml /opt/hbase-2.2.1/conf/core-site.xml
ln -s /opt/hadoop-2.9.2/etc/hadoop/hdfs-site.xml /opt/hbase-2.2.1/conf/hdfs-site.xml

复制到其它节点

# yum install -y rsync
# rsync -avz /opt/hbase-2.2.1 h140:/opt/

scp -rq /opt/hbase-2.2.1/ root@h138:/opt/
scp -rq /opt/hbase-2.2.1/ root@h140:/opt/

附上环境变量配置(/etc/profile)

export HADOOP_HOME=/opt/hadoop-2.9.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

export JAVA_HOME=/opt/jdk1.8.0_202
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export KAFKA_HOME=/opt/kafka_2.12-2.3.0
export PATH=$PATH:$KAFKA_HOME/bin

export ZOOKEEPER_HOME=/opt/apache-zookeeper-3.5.5-bin
export PATH=$PATH:$ZOOKEEPER_HOME/bin

export HBASE_HOME=/opt/hbase-2.2.1
export PATH=$PATH:$HBASE_HOME/bin

三、启动

如果集群之间的节点时间不同步,会导致 regionserver 无法启动,抛出 ClockOutOfSyncException 异常。

同步时间服务或修改属性

<property>
  <name>hbase.master.maxclockskew</name>
  <value>180000</value>
  <description>Time difference of regionserver from master</description>
</property>

1.单节点启动(手动启动所有节点)

hbase-daemon.sh start master
hbase-daemon.sh start regionserver

2.集群启动(哪个节点启动 HBase,哪个节点就是 master 角色)

start-hbase.sh
stop-hbase.sh

3.查看 HBase 页面

启动成功后,可以通过 http://IP:16010 的方式来访问 HBase 管理页面。


https://hbase.apache.org/book.html#_configuration_files

https://abloz.com/hbase/book.html#example_config

原文地址:https://www.cnblogs.com/jhxxb/p/11598465.html