HBase in docker 30分钟环境搭建验证

环境配置

下载安装Hbase:

docker pull harisekhon/hbase:1.3

启动

docker run -d -h myhbase -p 2181:2181 -p 8080:8080 -p 8085:8085 -p 9090:9090 -p 9095:9095 -p 16000:16000 -p 16010:16010 -p 16201:16201 -p 16301:16301 --name hbase1.3 harisekhon/hbase:1.3

  -p : 指定主机的端口 16010映射到宿主机上(容器)的开放端口 16010
  -P :主机随机分配端口与宿主机上的端口进行映射 

注意:hbase60010端口无法访问web页面,web端访问的接口变更为16010

sudo vi /etc/hosts
添加 docker IP  hostname

http://docker IP:宿主机上(容器)的开放端口 16010对应的指定主机的端口/master-status

例:http://localhost:16010/master-status

命令行操作

docker exec -it hbase001  bash

然后执行 : hbase shell 

官方文档:shell篇 https://hbase.apache.org/book.html#shell

官方文档:数据模型篇: https://hbase.apache.org/book.html#conceptual.view

DDL 操作

命名空间

#Create a namespace
create_namespace 'ns1'

创建表

#create order in ns1 namespace
 create 'ns1:user', 'name','age','sex'
 
 create 'ns1:log', 'id','time','sex'

获取表的描述

describe'user'

列出所有表

list

删除一个列族

alter'user',{NAME=>'age',METHOD=>'delete'}

删除表

首先把表设置为 disable。

disable'表名'
 
drop'表名'

DML 操作

插入数据

给 user 表的 rw1 行分别插入 3 个列。

put'ns1:user','rw1','name','wuqh'

put'ns1:user','rw1','age','20'

put'ns1:user','rw1','sex','boy'

获取数据

获取 user 表的 rw1 行的所有数据。

hbase(main):037:0> get 'ns1:user','rw1'
COLUMN                        CELL
 age:                         timestamp=1563083718436, value=20
 name:                        timestamp=1563083680020, value=wuqh
 sex:                         timestamp=1563083733940, value=boy
1 row(s) in 0.0460 seconds

获取 user 表的 rw1 行 name 列族的所有数据。

hbase(main):038:0> get'ns1:user','rw1','name'
COLUMN                        CELL
 name:                        timestamp=1563083680020, value=wuqh
1 row(s) in 0.0090 seconds

更新一条记录

更新 user 表的 rw1 行、 age 列的值。

put 'ns1:user','rw1','age','22'

查看更新的结果。

get 'ns1:user','rw1','age'
COLUMN                        CELL
 age:                         timestamp=1563083973835, value=22
1 row(s) in 0.0090 seconds

全表扫描

scan 'ns1:user'

删除一列

删除 user 表 rw1 行的一个列。

delete 'ns1:user','rw1','age'

查看删除的结果,删除了两次才删完?

hbase(main):045:0> scan 'ns1:user'
ROW                           COLUMN+CELL
 rw1                          column=age:, timestamp=1563083973835, value=22
 rw1                          column=name:, timestamp=1563083680020, value=wuqh
 rw1                          column=sex:, timestamp=1563083733940, value=boy
1 row(s) in 0.0190 seconds

hbase(main):046:0> delete 'ns1:user','rw1','age'
0 row(s) in 0.0490 seconds

hbase(main):047:0>  get 'ns1:user','rw1'
COLUMN                        CELL
 age:                         timestamp=1563083718436, value=20
 name:                        timestamp=1563083680020, value=wuqh
 sex:                         timestamp=1563083733940, value=boy
1 row(s) in 0.0130 seconds

hbase(main):048:0> delete 'ns1:user','rw1','age'
0 row(s) in 0.0070 seconds

hbase(main):049:0>  get 'ns1:user','rw1'
COLUMN                        CELL
 name:                        timestamp=1563083680020, value=wuqh
 sex:                         timestamp=1563083733940, value=boy
1 row(s) in 0.0130 seconds

删除行的所有单元格

使用“deleteall”命令删除 user 表 rw1 行的所有列。

deleteall 'ns1:user','rw1'

查看删除的结果

hbase(main):051:0> scan 'ns1:user'
ROW                           COLUMN+CELL
0 row(s) in 0.0130 seconds

统计表中的行数

hbase(main):061:0> count 'ns1:user'
1 row(s) in 0.0340 seconds

=> 1

清空整张表

增加一些数据

put'ns1:user','rw1','name','wuqh'

put'ns1:user','rw1','age','20'

put'ns1:user','rw1','sex','boy'

清空

truncate'ns1:user'
Truncating 'ns1:user' table (it may take a while):
 - Disabling table...
 - Truncating table...
0 row(s) in 3.3220 seconds

查看清空结果

hbase(main):058:0> scan 'ns1:user'
ROW                           COLUMN+CELL
0 row(s) in 0.1230 seconds
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值