Hbase 环境搭建

复制和安装 hbase

  1. 将本地hbase-2.2.3-bin.tar.gz复制进master容器中root目录中
1
docker cp /path/to/hbase-2.2.3-bin.tar.gz master:/root
  1. hbase解压进/opt/module目录下
1
tar zxvf /root/hbase-2.2.3-bin.tar.gz -C /opt/module/
  1. 将解压后的目录改名为hbase
1
mv /opt/module/hbase-2.2.3-bin /opt/module/hbase

配置 hbase

  1. hbase的配置文件都存放在${HBASE_HOME}/conf
1
cd /opt/module/hbase/conf
  1. 配置 hbase-env.sh
  • 添加以下环境变量
1
2
export JAVA_HOME=/opt/module/jdk
export HBASE_MANAGES_ZK=false
  • export HBASE_MANAGES_ZK=false: 关闭自带的 zookeeper,hbase 自带 zookeeper 单机版,此处搭建的是分布式,因此将此关闭
  1. 配置 hbase-site.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/opt/module/hbase/tmp</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/HBase</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master:2181,slave1:2181,slave2:2181</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/module/zookeeper/data</value>
</property>
</configuration>
  • hbase.cluster.distributed:是否为集群模式
  • hbase.tmp.dir:指定 HBase 使用的临时文件目录
  • hbase.unsafe.stream.capability.enforce:HBase 对流能力的某些检查
  • hbase.rootdir:hbase 存储 hdfs 的路径
  • hbase.zookeeper.quorum:指定 HBase 使用的 ZooKeeper 集群的地址列表
  • hbase.zookeeper.property.dataDir:指定 ZooKeeper 存储数据的目录
  1. 配置 regionservers
1
2
3
master
slave1
slave2

分发 hbase

1
2
scp -r /opt/module/hbase slave1:/opt/module
scp -r /opt/module/hbase slave2:/opt/module

启动群集

  1. master 容器中运行
1
/opt/module/hbase/bin/start-hbase.sh

验证群集

  1. 输入 jps
1
jps
  1. 进程中显示以下两个, 代表开启成功
1
2
9410 HMaster
9574 HRegionServer
  1. 进入 hbase 列出所有表
  • 输入指令
1
/opt/module/hbase/bin/hbase shell
  • 查看命名空间
1
list_namespace

参考文章

【HBase】Hbase-2.2.3 真分布式搭建