基于docker-compose, 搭建本地hbase测试环境

微信扫一扫,分享到朋友圈

基于docker-compose, 搭建本地hbase测试环境

之前在本地测试环境, 搭了一整套hadoop, 才能正常运行hbase, 运行中经常闪退, 于是找寻docker搭建方案.

站在巨人肩膀上

github有基于docker-compose搭建hbase的项目, 十分完整, 按照说明直接up, 便能在镜像中进行 hbase shell
等相关操作, 但是从外部连接hbase(指通过zk)有一些问题, 之后通过几行配置修改, 完成了该目标.

github地址

修脚

此项目中有两个docker-compose文件, 一个standlone, 一个distribution. 都是local的. 本来我打算用standlone, 可惜regionserver的端口在一万多个端口中随机… 于是选择使用distribution.

hosts文件修改

外部连接zk, 可以通过打开2181端口实现, 可是zk里存的是docker中的hostname, 你的程序并不在容器中, 会出现unknown hosts的情况, 于是需要添加以下到hosts文件中(对应到docker-compose文件中的hostname)

0.0.0.0 hbase-master
0.0.0.0 hbase-region

docker-compose-distributed-local.yml 文件修改

这个文件, 有些小坑, 很多重要端口没开, 导致连接超时(程序假死). 经过很多debug后, 确认了端口, 并且补齐.

hbase-master:
image: bde2020/hbase-master:1.0.0-hbase1.2.6
container_name: hbase-master
hostname: hbase-master
env_file:
- ./hbase-distributed-local.env
environment:
SERVICE_PRECONDITION: "namenode:50070 datanode:50075 zoo:2181"
ports:
- 16010:16010
- 16000:16000     # 新添加
hbase-region:
image: bde2020/hbase-regionserver:1.0.0-hbase1.2.6
container_name: hbase-regionserver
hostname: hbase-regionserver
env_file:
- ./hbase-distributed-local.env
environment:
HBASE_CONF_hbase_regionserver_hostname: hbase-region
SERVICE_PRECONDITION: "namenode:50070 datanode:50075 zoo:2181 hbase-master:16010"
ports:
- 16030:16030
- 16020:16020   # 新添加

run

docker-compose -f docker-compose-distributed-local.yml up

这个时候你的程序就可以在本地进行hbase访问了.

終わり。

微信扫一扫,分享到朋友圈

基于docker-compose, 搭建本地hbase测试环境

机器学习4个常用超参数调试方法!

上一篇

雷蛇或泄露10万多个游戏玩家的个人信息 因安全漏洞

下一篇

你也可能喜欢

基于docker-compose, 搭建本地hbase测试环境

长按储存图像,分享给朋友