- 安装和配置hbase数据库
- 熟悉hbase中相关的shell命令
- centOS 8
- hadoop-3.2.3
- JDK版本: 1.8
- HBase版本: 2.4.12
-
下载HBase
去官网下载hbase的安装包,然后将安装包上传到虚拟机上
-
解压
注意需要切换到root用户下,方便操作tar -zxvf hbase-2.4.12-bin.tar.gz -C /app
修改名字
mv hbase-2.4.12 hbase
-
配置
(1)修改/etc/profile
增加# set hbase enviroment export HBASE_HOME=/app/hbase export PATH=$PATH:$HBASE_HOME/bin
保存后退出,最后source /etc/profile
(2)修改hbase-env.sh
先输入echo $JAVA_HOME来复制JAVA_HOME的路径,以方便之后的配置,接着我们编辑HBase conf目录下的hbase-env.sh文件,将其中的JAVA_HOME指向到Java的安装目录,还有HBASE_MANAGES_ZK设置为true,还有一个地方也需要设置为true,即将其前面的‘#’删除即可,即HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP最后保存退出:
(3)编辑hbase-site.xml文件
在标签中添加如下内容:hbase.rootdir hdfs://hadoop0:8088/hbase hbase.zookeeper.quorum hadoop0 hbase.cluster.distributed true hbase.unsafe.stream.capability.enforce true 注: 此文件中hbase.rootdir中主机和端口号需要与$HADOOP_HOME/etc/hadoop/core-site.xml文件中fs.default.name的主机名和端口号相同
-
启动
先启动hadoop,再启动hbasecd $HBASE_HOME/bin start-hbase.sh
输入jps命令,可以看到多了三个进程:
查看hdfs目录,在根目录下多了一个/hbase目录:
也可以进入浏览器访问: http://hadoop0:16010
也可以进入hbase shell命令窗口查看hbase的表,先输入hbase shell进入,然后输入list命令,但是我这里报错了:
出现此错误是因为hdfs集群处在安全模式,我们先输入exit命令退出hbase shell,然后输入hdfs dfsadmin -safemode leave:
重新启动hbase后还是会出现这个问题,在logs目录下查看master的日志,出现了如下错误:
在网上查找资料之后,发现是版本兼容性问题,原文https://blog.csdn.net/qq_36286400/article/details/118763548?
将hadoop卸载重新安装3.2.3版本的hadoop,问题解决
-
停止
cd $HBASE_HOME/bin hbase-daemon.sh stop master stop-hbase.sh
启动HBase之后,我们输入hbase shell进入到Hbase shell命令行窗口:
使用create创建表,例如创建一个名为test的表,使其中包含一个名为data的列,表和列族属性都为默认值:
创建成功
-
添加数据
给test表添加一些数据:
使用put添加数据,使用get获取一行的数据
也可以使用scan获取全部数据
-
删除数据
使用deleteall 表名,行名称删除整行数据
-
删除表
删除表需要两步:disable 表名 drop 表名
最后退出hbase shell命令窗口使用exit命令即可



