第三节 CentOS环境使用Docker安装HBase

亮子 2023-05-25 01:45:26 10470 0 0 0

hbase是hadoop生态中的一员,最早搭建hbase,需要先安装hadoop,然后安装zookeeper,再安装hbase。现在通过docker可以直接安装hbase,而且容器中并不需要hadoop。

1、拉取hbase镜像

# 查找镜像
docker search hbase

# 拉取镜像
docker pull harisekhon/hbase:latest

图片alt

图片alt

2、创建容器

# 未指定主机名
docker run -d --name hbase -p 2181:2181 -p 16010:16010 -p 16020:16020 -p 16030:16030 harisekhon/hbase:latest

# 指定主机名
docker run -d -h hbase \
-p 2181:2181 -p 8080:8080 -p 8085:8085 -p 9090:9090 \
-p 9095:9095 -p 16000:16000 -p 16010:16010 -p 16020:16020 \
-p 16201:16201 -p 16301:16301 \
--name hbase harisekhon/hbase:latest

这里注意一点,对于端口映射,hbase用到了很多端口,有的地方直接使用-P参数,而不是用-p做端口一一映射。
同时,-h选项中的参数hbase名字不要修改,否则会连不上节点。

docker run -d --name hbase -P harisekhon/hbase

如果通过-P参数,会将容器内部所有监听的端口都映射为随机端口,我们可以看看容器状态:

图片alt

其中,16010端口是hbase提供的webui界面暴露的端口,映射为了32770,我们可以通过虚拟机地址,以及这个端口访问hbase webui。

hbase webui的地址如下:

http://192.168.80.130:16010/master-status

图片alt

到了这里,通过web界面能够看到hbase状态,然后,可以进入容器,运行hbase shell,执行建表,添加数据,扫描数据都没有问题。但是如果外部程序,比如java需要操作hbase,就非常麻烦。

所以,这里不建议直接使用-P(大写)的方式启动hbase。

推荐的启动方式:docker run -d –name hbase -p 2181:2181 -p 16010:16010 -p 16020:16020 -p 16030:16030 harisekhon/hbase

不推荐的启动方式:docker run -d --name -P harisekhon/hbase

4、测试容器

# 进入容器
docker exec -it hbase /bin/bash

# 启动shell
hbase shell

# 查看表名列表
list

# 创建表
# 语法:create <table>, {NAME => <family>, VERSIONS => <VERSIONS>}
create 'userinfo',{NAME => 'user', VERSIONS => 2},{NAME => 'score', VERSIONS => 2}

图片alt

参考文章