HBase---单节点快速搭建、使用入门

本文介绍如何快速搭建单节点HBase环境,包括JDK、HBase及ZooKeeper的安装配置,并演示基本操作如创建表、插入数据等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

快速搭建—单节点

本文将搭建一个最基本的单节点HBase,包含了Master,RegionServers和ZooKeeper,它们都单个JVM中运行,并保留在本地文件系统中。

1、JDK版本

HBase需要安装JDK,建议使用JDK1.8

2、HBase安装

2.1、HBase版本下载

https://www.apache.org/dyn/closer.lua/hbase/,官网下载地址,有镜像下载站点。

当前稳定版本2.2.6,本文使用2.0.5

在这里插入图片描述

2.2、解压文件

tar xzvf hbase-2.0.5-bin.tar.gz

在这里插入图片描述

2.3、新增HBASE_HOME环境变量

vi /etc/profile
export JAVA_HOME=/usr/java/default
export ZOOKEEPER_HOME=/opt/bigdata/zookeeper-3.4.6
export HADOOP_HOME=/opt/bigdata/hadoop-2.6.5
export HBASE_HOME=/opt/bigdata/hbase-2.0.5
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$HBASE_HOME/bin

2.4、让环境变量生效

source /etc/profile

2.5、启动hbase

start-hbase.sh

在这里插入图片描述
查看hbase web ui,默认端口16010
在这里插入图片描述

2.6、执行hbase shell

如遇如下错误,是因为jline版本冲突

java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
在这里插入图片描述

java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected

在这里插入图片描述

把jline-0.9.94.jar替换成jline-2.12即可
在这里插入图片描述

重启启动
在这里插入图片描述

2.7、直接输入help命令,查看帮助文档

在这里插入图片描述

3、基本命令使用

3.1、创建一张表

使用create命令创建一个新表,必须指定表名称和ColumnFamily名称。

hbase(main):001:0> create 'test','cf'
Created table test
Took 1.6331 seconds
=> Hbase::Table - test
hbase(main):002:0>

3.2、使用list命令确认表是否存在

hbase(main):002:0> list 'test'
TABLE
test
1 row(s)
Took 0.0449 seconds
=> ["test"]
hbase(main):003:0>

3.3、describe查看详细信息

hbase(main):003:0> describe 'test'
Table test is ENABLED
test
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TT
L => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OP
EN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}
1 row(s)
Took 0.2289 seconds
hbase(main):004:0>

3.4、使用put向表中插入数据

hbase(main):004:0> put 'test', 'row1', 'cf:a', 'value1'
Took 0.1598 seconds
hbase(main):005:0> put 'test', 'row2', 'cf:b', 'value2'
Took 0.0044 seconds
hbase(main):006:0> put 'test', 'row3', 'cf:c', 'value3'
Took 0.0092 seconds
hbase(main):007:0> put 'test', 'row3', 'cf:d', 'value4'

3.5、使用scan获取表中的所有数据

hbase(main):009:0> scan 'test'
ROW                                               COLUMN+CELL
 row1                                             column=cf:a, timestamp=1607504817354, value=value1
 row2                                             column=cf:b, timestamp=1607504844540, value=value2
 row3                                             column=cf:c, timestamp=1607504868537, value=value3
 row3                                             column=cf:d, timestamp=1607505050811, value=value4
3 row(s)
Took 0.1599 seconds

3.6、使用get获取单行数据

hbase(main):013:0> get 'test','row1'
COLUMN                                            CELL
 cf:a                                             timestamp=1607504817354, value=value1
1 row(s)
Took 0.0395 seconds

3.7、使用drop删除表

直接drop会报如下错误,需先执行disable

hbase(main):014:0> drop 'test'

ERROR: Table test is enabled. Disable it first.

Drop the named table. Table must first be disabled:
  hbase> drop 't1'
  hbase> drop 'ns1:t1'

Took 0.0239 seconds

hbase(main):015:0> disable 'test'
Took 0.8775 seconds
hbase(main):016:0> drop 'test'
Took 0.4751 seconds
hbase(main):017:0> list 'test'
TABLE
0 row(s)
Took 0.0087 seconds
=> []
hbase(main):018:0>

关闭hbase服务

stop-hbase.sh

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码拉松

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值