0
点赞
收藏
分享

微信扫一扫

Hbase入门操作详解(单机模式)

以沫的窝 2022-02-16 阅读 55


一.配置Hbase

1.单机配置hbase-site.xml

[root@master1 ~]# vim /etc/hbase/conf/hbase-site.xml

添加:

<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///tmp</value>
</property>

<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
</property>

<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2182</value>
</property>

</configuration>

2.修改环境变量

(1)

[root@master1 ~]# vim /etc/init.d/hbase-master +55

添加:

export HBASE_HOME="/usr/hdp/current/hbase-master/../hbase"

或者:

export HBASE_HOME="/usr/hdp/2.6.3.0-235/hbase"

(2)

[root@master1 ~]# vim /etc/hbase/conf/hbase-env.sh

添加:

export HBASE_PID_DIR=/var/run/hbase
export HBASE_LOG_DIR=/var/log/hbase

二.启动单机服务器

1.启动服务器

[root@master1 ~]# /etc/init.d/hbase-master start
Starting HBase master daemon (hbase-master): [ 确定 ]
starting master, logging to /var/log/hbase/hbase-hbase-master-master1.out

2.关闭服务器

[root@master1 ~]# /etc/init.d/hbase-master stop
Stopping HBase master daemon (hbase-master): [ 确定 ]
stopping master.

3.连接服务器

[root@master1 ~]# hbase shell

显示:

[root@master1 ~]# hbase shell
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.1.2.2.6.3.0-235, r6f982c8e667e7a18451fcbc12c5e2758b178ec78, Mon Oct 30 02:42:02 UTC 2017

hbase(main):001:0>

三.建表

举栗子:

1.创建表:create ‘表名’,‘列族’

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

=> Hbase::Table - test

2.表的管理/列表查看表:list

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

=> ["test"]

3.查看表结构:describe  ‘表名’

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

4.插入数据:put ‘表名’,‘rowkey’,‘列族:列’,‘值’

hbase(main):004:0> put 'test','row1','cf:a','wugenqiang'
0 row(s) in 1.7430 seconds

hbase(main):005:0> put 'test','row1','cf:b','menglinlin'
0 row(s) in 0.0500 seconds

hbase(main):006:0> put 'test','row2','cf:b','marry'
0 row(s) in 0.0450 seconds

hbase(main):007:0> put 'test','row3','cf:c','marry me'
0 row(s) in 0.0160 seconds

5.查询数据

(1)全局扫描:scan '表名' 

hbase(main):008:0> scan 'test'
ROW COLUMN+CELL
row1 column=cf:a, timestamp=1532048846590, value=wugenqiang
row1 column=cf:b, timestamp=1532049031503, value=menglinlin
row2 column=cf:b, timestamp=1532049063608, value=marry
row3 column=cf:c, timestamp=1532049086522, value=marry me
3 row(s) in 0.0860 seconds

(2)查询某行数据:get ‘表名’,‘rowkey’

hbase(main):009:0> get 'test','row3'
COLUMN CELL
cf:c timestamp=1532049086522, value=marry me
1 row(s) in 0.1000 seconds

(3)查询表中数据行数:count ‘表名’

hbase(main):010:0> count 'test'
3 row(s) in 0.0720 seconds

=> 3

6.删除表

(1)先将表禁用:disable ‘表名’ (修改表同样需要先禁用)

hbase(main):012:0> disable 'wugenqiang'
0 row(s) in 2.5400 seconds

(2)删除表:drop ‘表名’

hbase(main):013:0> drop 'wugenqiang'
0 row(s) in 3.5240 seconds

(3)验证:

hbase(main):016:0> list
TABLE
test
wugenqiang
2 row(s) in 0.0120 seconds

=> ["test", "wugenqiang"]

hbase(main):012:0> disable 'wugenqiang'
0 row(s) in 2.5400 seconds

hbase(main):013:0> drop 'wugenqiang'
0 row(s) in 3.5240 seconds

hbase(main):014:0> list
TABLE
test
1 row(s) in 0.0220 seconds

=> ["test"]

(3)删除行中的某列:delete ‘表名’,‘rowkey’,‘列族:列’

hbase(main):019:0> scan 'test'
ROW COLUMN+CELL
row1 column=cf:a, timestamp=1532048846590, value=wugenqiang
row1 column=cf:b, timestamp=1532049031503, value=menglinlin
row2 column=cf:b, timestamp=1532049063608, value=marry
row3 column=cf:c, timestamp=1532049086522, value=marry me
3 row(s) in 0.0630 seconds

hbase(main):020:0> delete 'test','row2','cf:b'
0 row(s) in 0.5470 seconds

hbase(main):021:0> scan 'test'
ROW COLUMN+CELL
row1 column=cf:a, timestamp=1532048846590, value=wugenqiang
row1 column=cf:b, timestamp=1532049031503, value=menglinlin
row3 column=cf:c, timestamp=1532049086522, value=marry me
2 row(s) in 0.0330 seconds

(4)删除行:deleteall ‘表名’,‘rowkey’

hbase(main):023:0> deleteall 'test','row1'
0 row(s) in 0.0140 seconds

hbase(main):024:0> scan 'test'
ROW COLUMN+CELL
row3 column=cf:c, timestamp=1532049086522, value=marry me
1 row(s) in 0.0610 seconds

(5)删除表中所有数据:truncate ‘表名’

hbase(main):028:0> truncate 'test'
Truncating 'test' table (it may take a while):
- Disabling table...
- Truncating table...
0 row(s) in 3.4770 seconds

hbase(main):029:0> scan 'test'
ROW COLUMN+CELL
0 row(s) in 0.4310 seconds

7.修改表:

(1)添加列族:alter ‘表名’,NAME=>'second'

hbase(main):031:0> alter 'test',NAME=>'second'
Updating all regions with the new schema...
0/1 regions updated.
1/1 regions updated.
Done.
0 row(s) in 3.3390 seconds

验证:

hbase(main):037:0> describe 'test'
Table test is ENABLED
test
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CE
LLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN
_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
{NAME => 'second', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETE
D_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE',
MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
2 row(s) in 0.0390 seconds

(2)删除列族:alter ‘表名’,NAME=>'second',METHOD=>'delete'

hbase(main):033:0> alter 'test',NAME=>'second',METHOD=>'delete'
Updating all regions with the new schema...
1/1 regions updated.
Done.
0 row(s) in 2.3340 seconds

验证:

enable ‘tablename’ 

启用emp表并验证表是否被启动。

hbase(main):034:0> enable 'test'
0 row(s) in 0.0430 seconds

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



举报

相关推荐

0 条评论