资源规划
组件 | bigdata-node1 | bigdata-node2 | bigdata-node3 |
---|---|---|---|
OS | centos7.6 | centos7.6 | centos7.6 |
JDK | jvm | jvm | jvm |
Zookeeper | QuorumPeerMain | QuorumPeerMain | QuorumPeerMain |
HDFS | NameNode/SecondaryNameNode/DataNode/JobHistoryServer/ApplicationHistoryServer | DataNode | DataNode |
HBase | HMaster/HRegionServer | HRegionServer | HRegionServer |
安装介质
版本: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/bigdata/centos-zookeeper-setup)》
安装Hadoop
版本兼容性
HBase与JDK的兼容性
HBase与Hadoop的兼容性
安装Hbase
解压缩
# 先在节点bigdata-node1上安装,之后分发到bigdata-node2、bigdata-node3
cd /share
tar -zxvf hbase-1.2.5-bin.tar.gz -C ~/modules/
rm -rf hbase-1.2.5-bin.tar.gz
配置
配置hbase-env.sh。
vi ~/modules/hbase-1.2.5/conf/hbase-env.sh
配置如下:
# 设置JAVA的环境变量
export JAVA_HOME=/home/vagrant/modules/jdk1.8.0_221
# 设置是否使用hbase自带的zookeeper
export HBASE_MANAGES_ZK=false
配置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://bigdata-node1: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>192.168.0.101:2181,192.168.0.102:2181,192.168.0.103:2181</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/vagrant/modules/zookeeper-3.4.10/data</value>
</property>
</configuration>
配置regionservers。
vi ~/modules/hbase-1.2.5/conf/regionservers
配置如下:
bigdata-node1
bigdata-node2
bigdata-node3
配置backup-masters。(注: 如需配置Master的高可用(HA),需要创建backup-masters文件)
bigdata-node2
环境变量配置。
vi ~/.bashrc
配置如下:
export HBASE_HOME=/home/vagrant/modules/hbase-1.2.5
export PATH=${HBASE_HOME}/bin:$PATH
分发
scp -r ~/modules/hbase-1.2.5 bigdata-node2:~/modules/
scp -r ~/modules/hbase-1.2.5 bigdata-node3:~/modules/
scp -r ~/.bashrc vagrant@bigdata-node2:~/
scp -r ~/.bashrc vagrant@bigdata-node3:~/
source ~/.bashrc # 各节点分别执行
分别对bigdata-node1、bigdata-node2、bigdata-node3创建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
验证
进入终端。
hbase shell
创建一张表。
hbase shell>> create 't_user', {NAME => 'info', VERSIONS => '3'},{NAME => 'data'}
向表中添加数据。
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'
查询、更新以及删除操作。
# 查询有哪些表
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'
可以通过页面访问查看表的信息和集群状态。