一、实验目的
- 安装和配置hbase数据库
- 熟悉hbase中相关的shell命令
二、实验环境
- centOS 8
- hadoop-3.2.3
- JDK版本: 1.8
- HBase版本: 2.4.12
三、实验内容
1.HBase数据库的安装
-
下载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 文件 在标签中添加如下内容: <configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop0:8088/hbase</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop0</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>true</value>
</property>
</configuration>
注: 此文件中hbase.rootdir 中主机和端口号需要与$HADOOP_HOME/etc/hadoop/core-site.xml 文件中fs.default.name 的主机名和端口号相同 -
启动 先启动hadoop,再启动hbase cd $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
2. 创建表
启动HBase之后,我们输入hbase shell 进入到Hbase shell命令行窗口: 使用create创建表,例如创建一个名为test的表,使其中包含一个名为data的列,表和列族属性都为默认值: 创建成功
3. 添加数据,删除数据,删除表
-
添加数据 给test表添加一些数据: 使用put 添加数据,使用get 获取一行的数据 也可以使用scan 获取全部数据 -
删除数据 使用deleteall 表名,行名称 删除整行数据 -
删除表 删除表需要两步: disable 表名
drop 表名
最后退出hbase shell命令窗口使用exit 命令即可
|