资源规划
| 组件 | 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-node3cd /sharetar -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自带的zookeeperexport 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-node1bigdata-node2bigdata-node3
配置backup-masters。(注: 如需配置Master的高可用(HA),需要创建backup-masters文件)
bigdata-node2
环境变量配置。
vi ~/.bashrc
配置如下:
export HBASE_HOME=/home/vagrant/modules/hbase-1.2.5export 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.xmlln -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', 20hbase 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'
可以通过页面访问查看表的信息和集群状态。
