官网 http://hbase.apache.org/
官方文档 http://hbase.apache.org/book.html#arch.overview
w3cschool https://www.w3cschool.cn/hbase_doc/
易佰教程 https://www.yiibai.com/hbase
Hbase 版本与 Hadoop 的兼容性
[root@master ~]# /usr/bigdata/hadoop-3.3.0/sbin/start-dfs.sh
3、安装部署 Zookeeper 3.6.2 集群
4、启动各节点的 zkServer 服务
[root@slave1 ~]# /usr/bigdata/apache-zookeeper-3.6.2-bin/bin/zkServer.sh start
[root@slave2 ~]# /usr/bigdata/apache-zookeeper-3.6.2-bin/bin/zkServer.sh start
[root@slave3 ~]# /usr/bigdata/apache-zookeeper-3.6.2-bin/bin/zkServer.sh start
三、Hbase 安装部署
1、在 master 节点下载 hbase 安装包文件
[root@master ~]# wget -P /usr/bigdata/ https://mirror.bit.edu.cn/apache/hbase/2.4.0/hbase-2.4.0-bin.tar.gz
效果如下
2、进入文件下载目录
[root@master ~]# cd /usr/bigdata/
3、解压文件
[root@master bigdata]# tar zxf hbase-2.4.0-bin.tar.gz
4、查看目录
[root@master bigdata]# ll
效果如下
5、进入 hbase 的配置文件目录
[root@master ~]# cd /usr/bigdata/hbase-2.4.0/conf
查看目录
6、编辑文件 hbase-env.sh
[root@master conf]# vim hbase-env.sh
编辑文件
export JAVA_HOME="/usr/lib/jvm/java-1.8.0"
export HBASE_PID_DIR="/usr/bigdata/hbase-2.4.0/"
export HBASE_MANAGES_ZK=false
7、编辑文件 regionservers
官网说明
[root@master conf]# vim regionservers
编辑内容
slave1
slave2
slave3
8、编辑文件 backup-masters
官网说明
[root@master conf]# vim backup-masters
编辑内容
slave1
9、创建目录
[root@master ~]# mkdir /usr/bigdata/hbase-2.4.0/tmp
10、编辑文件 hbase-site.xml
[root@master conf]# vim hbase-site.xml
编辑内容
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 设置HRegionServers共享目录 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9820/hbase</value>
</property>
<!-- 指定Zookeeper集群位置 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>slave1:2181,slave2:2181,slave3:2181</value>
</property>
<!-- 指定独立Zookeeper安装路径 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/bigdata/apache-zookeeper-3.6.2-bin</value>
</property>
<!-- 指定ZooKeeper集群端口 -->
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/usr/bigdata/hbase-2.4.0/tmp/</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>dfs.datanode.max.transfer.threads</name>
<value>4096</value>
</property>
<!-- 文件异步读写配置 -->
<property>
<name>hbase.wal.provider</name>
<value>filesystem</value>
</property>
</configuration>
11、把hadoop下的 hdfs-site.xml 文件拷贝到 /usr/bigdata/hbase-2.4.0/conf 目录下
官网说明
[root@master ~]# cp /usr/bigdata/hadoop-3.3.0/etc/hadoop/hdfs-site.xml /usr/bigdata/hbase-2.4.0/conf/
12、把配置好的 hbase 文件信息发售给集群的 hbase 子节点
[root@master ~]# scp -r /usr/bigdata/hbase-2.4.0 root@slave1:/usr/bigdata/
[root@master ~]# scp -r /usr/bigdata/hbase-2.4.0 root@slave2:/usr/bigdata/
[root@master ~]# scp -r /usr/bigdata/hbase-2.4.0 root@slave3:/usr/bigdata/
13、编辑系统环境变量
[root@master ~]# vim /etc/profile
14、编辑内容
export JAVA_HOME="/usr/lib/jvm/java-1.8.0"
export JRE_HOME="/usr/lib/jvm/java-1.8.0/jre"
export HADOOP_HOME="/usr/bigdata/hadoop-3.3.0"
export HBASE_HOME="/usr/bigdata/hbase-2.4.0"
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$HADOOP_HOME/share/hadoop/common/*:$HADOOP_HOME/share/hadoop/common/lib/*:$HBASE_HOME/lib
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"
15、时配置后的环境变量生效
[root@master ~]# source /etc/profile
16、查看 hbase 的 bin 目录
[root@master ~]# cd /usr/bigdata/hbase-2.4.0/bin
bin 目录文件列表如下
17、启动 hbase 服务
[root@master ~]# /usr/bigdata/hbase-2.4.0/bin/start-hbase.sh
启动效果如下
18、查看各个节点上 hbase 各服务的启动状态
19、查看服务所占端口
[root@master ~]# netstat -lntp
20、查看其在 HDFS 中的存储信息
[root@master ~]# hdfs dfs -ls /hbase
或
[root@master ~]# hadoop fs -ls /hbase
存储文件列表如下
21、在任一节点 运行 hbase shell
[root@slave1 ~]# hbase shell
如下图
22、停止 hbase 服务
[root@master ~]# /usr/bigdata/hbase-2.4.0/bin/stop-hbase.sh
四、Hbase 基本命令
hbase:001:0> list
TABLE
0 row(s)
Took 0.5481 seconds
=> []
hbase:002:0> create 'hbase_test','f1'
Created table hbase_test
Took 2.2060 seconds
=> Hbase::Table - hbase_test
hbase:003:0> list
TABLE
hbase_test
1 row(s)
Took 0.0107 seconds
=> ["hbase_test"]
hbase:004:0> create 'my_hbase_test','f1'
Created table my_hbase_test
Took 1.1406 seconds
=> Hbase::Table - my_hbase_test
hbase:005:0> list
TABLE
hbase_test
my_hbase_test
2 row(s)
Took 0.0088 seconds
=> ["hbase_test", "my_hbase_test"]
hbase:006:0> describe 'hbase_test'
Table hbase_test is ENABLED
hbase_test
COLUMN FAMILIES DESCRIPTION
{NAME => 'f1', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', COMPRESSION => 'NONE', TTL => 'FOREVE
R', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
1 row(s)
Quota is disabled
Took 0.1745 seconds
hbase:007:0> put 'hbase_test','123','f1:ame','abc'
Took 0.1139 seconds
hbase:008:0> scan 'hbase_test'
ROW COLUMN+CELL
123 column=f1:ame, timestamp=2020-12-26T01:04:30.178, value=abc
1 row(s)
Took 0.0279 seconds
删除表,需先禁用表后,再执行对表的删除操作
disable ‘hbase_test’
drop ‘hbase_test’
Hbase master 节点的默认端口是 16000
官网
浏览器录入地址 http://192.168.11.21:16010/ 说明:192.168.11.21 是 master 节点的 IP
效果如下
启动 hbase 服务或者运行hbase shell命令的时候如果有如下报错
其原因可能有两种
1、hadoop 的 hdfs 启动状态为安全模式
hadoop 的 hdfs 启动状态为安全模式的解决方案
查看安全模式状态
[root@master ~]# hadoop dfsadmin -safemode get
状态结果
Safe mode is ON (安全模式已开启)
Safe mode is OFF (安全模式已关闭)
关闭安全模式
[root@master ~]# hadoop dfsadmin -safemode leave
或
[root@master ~]# dhfs dfsadmin -safemode leave
重启各节点 Hbase 相关服务。
2、缺少 “文件异步读写配置” 的配置信息
查找日志信息
[root@master ~]# cat /usr/bigdata/hbase-2.4.0/logs/hbase-root-master-master.log
发现以下问题
编辑配置文件
[root@master ~]# vim /usr/bigdata/hbase-2.4.0/conf/hbase-site.xml
增加配置信息
<property>
<name>hbase.wal.provider</name>
<value>filesystem</value>
</property>
重启各节点 Hbase 相关服务。
参考:
https://cloud.tencent.com/developer/article/1182109
入门
https://www.jianshu.com/p/b23800d9b227
讲解
至此,Centos7.6 基于 Hadoop3.x 集群部署 HBase 2.4.0 集群操作完毕,希望能够对您有所帮助!