centos7 hbase1.4.13+hadoop2.7.1+单机环境搭建

时间:2022-07-23
本文章向大家介绍centos7 hbase1.4.13+hadoop2.7.1+单机环境搭建,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

前言

因后续要学习研究hbase,那就先从搭建hbase开始吧。先搭建一个单机版的,方便自己学习使用。

安装配置hadoop

参考我的另一篇文章:centos7 hadoop 单机模式安装配置 注:这里的JDK为1.8,版本支持如图

下载hbase

下载地址:http://mirror.bit.edu.cn/apache/hbase/ 我下载的是hbase-1.4.13-bin.tar.gz (官网下载地址 太慢了) 关于hbase与hadoop版本对应关系参考http://hbase.apache.org/book.html#configuration

解压

tar -zxvf hbase-1.4.13-bin.tar.gz -C /opt

配置环境变量

```
vim ~/.bashrc 
```bash
export HBASE_HOME=/opt/hbase-1.4.13
export PATH=$PATH:$HBASE_HOME/bin
source ~/.bashrc

修改配置文件

cd /opt/hbase-1.4.13/conf/

修改hbase-env.sh

vim hbase-env.sh
export JAVA_HOME=/opt/jdk1.8.0_45/
export HBASE_MANAGES_ZK=true

修改hbase-site.xml

vim hbase-site.xml
<configuration>
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://192.168.44.128:8888/hbase</value>
</property>
<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>
<property>
    <name>hbase.tmp.dir</name>
    <value>/home/hadoop/data/hbase/tmp</value>
</property>
<property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/hadoop/data/hbase/zookeeper</value>
</property>
</configuration>

其中hbase.rootdir要和配置hadoop时core-site.xml 里的fs.defaultFS(或fs.default.name)配置对应

启动

先启动hadoop

参考:centos7 hadoop 单机模式安装配置

$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh

jps确认一下hadoop的每个进程都启动了

启动hbase

$HBASE_HOME/bin/start-hbase.sh

jps 看一下HMaster、HRegionServer、HQuorumPeer都启动了,代表成功(单机伪分布式模式)

hbase 简单操作

连接HBASE

hbase shell

查看帮助文档

help

创建表

必须同时制定表名称和列簇名称

hbase(main):004:0> create 'test', 'cf'
0 row(s) in 4.9150 seconds

=> Hbase::Table - test

列出表信息

hbase(main):005:0> list 'test'
TABLE                                                                                                                                                                                                                                            
test                                                                                                                                                                                                                                             
1 row(s) in 0.0750 seconds

=> ["test"]

可以用describe命令查看更详细的信息,包括默认配置

hbase(main):006:0> describe 'test'
Table test is ENABLED                                                                                                                                                                                                                            
test                                                                                                                                                                                                                                             
COLUMN FAMILIES DESCRIPTION                                                                                                                                                                                                                      
{NAME => 'cf', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536
', REPLICATION_SCOPE => '0'}                                                                                                                                                                                                                     
1 row(s) in 0.3090 seconds

往表里添加数据

hbase(main):007:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.5670 seconds

hbase(main):008:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0680 seconds

hbase(main):009:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0430 seconds

扫描表中所有数据

hbase(main):010:0> scan 'test'
ROW                                                           COLUMN+CELL                                                                                                                                                                        
 row1                                                         column=cf:a, timestamp=1597366721664, value=value1                                                                                                                                 
 row2                                                         column=cf:b, timestamp=1597366759913, value=value2                                                                                                                                 
 row3                                                         column=cf:c, timestamp=1597366769034, value=value3                                                                                                                                 
3 row(s) in 0.1230 seconds

获取单行数据

hbase(main):011:0> get 'test', 'row1'
COLUMN                                                        CELL                                                                                                                                                                               
 cf:a                                                         timestamp=1597366721664, value=value1                                                                                                                                              
1 row(s) in 0.0920 seconds

禁用表

如果要删除表或更改其设置,以及在某些其他情况下,则需要先使用disable命令禁用该表。您可以使用enable命令重新启用它。

hbase(main):001:0> disable 'test'
0 row(s) in 4.4460 seconds

hbase(main):002:0> enable 'test'
0 row(s) in 1.5420 seconds

测试完 enable 命令,再次禁用表

hbase(main):003:0> disable 'test'
0 row(s) in 2.4260 seconds

删除表

删除表之前,先禁用表


hbase(main):004:0> drop 'test'
0 row(s) in 1.3600 seconds

退出hbase shell

hbase(main):005:0> exit

停止hbase

$HBASE_HOME/bin/stop-hbase.sh

停止可能需要一段时间,运行完之后,使用jps命令确认一下hbase的相关进程已关闭。

参考