1.Docker 安装 HBase
1)搜索 HBase 镜像
docker search hbase
2)下载 HBase 镜像(可能下载有点慢)
docker pull harisekhon/hbase
3)下载好之后查看镜像信息
docker iamges
4)运行 hbase 镜像(三种方式)
方式一:手动分配所有端口
docker run -d --name 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 harisekhon/hbase:1.3
方式二:系统自动映射端口(-P 主机随机分配端口与宿主机上的端口进行映射)
docker run -d --name myhbase -P harisekhon/hbase:1.3
可以看到,这些端口随机映射到了主机的 32768-32776 之间。
方式三:只映射 web 页面的端口(16010)
docker run -d --name myhbase -p 16010:16010 harisekhon/hbase:1.3
可以看到,只有 160101 端口与主机的端口进行了映射。
PS:我这里采用的是第三种方式,因为我的云服务器上运行着很多别的服务,而且 zookeeper 等组件我在外部也有安装。
http://ip:16010(注:阿里云服务器要在控制台开放端口)
2.操作 HBase
上面我们通过 docker 安装好了 HBase 服务,那么应该怎么操作它呢?
1)进入 HBase 镜像
docker exec -it myhbase bash
2)进入 HBase 的 bin 目录
cd hbase-1.3.2/bin
3)进入 HBase 客户端
./hbase shell
3.HBase 常用命令
上面我们进入到 HBase 客户端,那么就可以通过命令去操作 HBase 了,所以 HBase 有哪些常用命令呢?
-
启动 HBase:
./start-hbase.sh
-
查看 HBase 是否启动:
jps
(docker不支持) -
进入 HBase 的客户端:
./hbase shell
命名空间相关
1)创建命名空间
create_namespace '命名空间'
2)查看命名空间
list_nameapce
注:HBase系统默认定义了两个缺省的namespace
3)删除命名空间
drop_namespace ‘命名空间'
表相关
1)创建表
create '命名空间:表名',{NAME => ’列族名‘, VERSION => '版本数', TTL => '过期时间', BLOOMFILTER => '布隆过滤器'}
上面的 VERSION、TTL、BLOOMFILTER 是几个比较重要的列属性,我们举个例子
create_namespace 'test'
create 'test:user', {NAME => 'b', VERSIONS => '3', TTL => '2147483647', 'BLOOMFILTER' => 'ROW'},
{NAME => 'o', VERSIONS => '3', TTL => '2147483647', 'BLOOMFILTER' => 'ROW'}
意思是,在 test 命名空间下创建 user 表,列族名是b(o),版本有3个,过期时间2147483647,布隆过滤器过滤依据是RowKey。
另外,我们在 web 控制台也能看到表信息
2)查看命名空间下的表
list_namespace_tables '命名空间'
3)查看表结构(列族、列)
desc '命名空间:表名'
可以看到,有两个列族,另外那些没有设值的列属性都被附上了默认值。
4)查看表中数据
scan '命名空间:表名'
5)清空表中数据
truncate` '命名空间:表名' # 三步:1.禁用 2.删除 3.重建
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。