一、部署背景
由于业务系统的特殊性,我们需要面向不通的客户安装我们的业务系统,而作为基础组件中的hbase数据库针对不同的客户环境需要多次部署,作为一个运维工程师,提升工作效率也是工作中的重要一环。所以我觉得有必要针对hbase2.3.5数据库编写自动化部署工具。这里采用的是单机hbase+外置zookeeper的方式实现批量快速部署。
在网上找了半天hbase2.3.5版本的,基本上都是二进制方式部署的,由于我们的基础组件都是docker容器部署的,所以这里我采用的是docker-compose来编排容器。
说明:如果有兴趣,可以从工具下载中获取下载链接,此工具可帮助你快速了解一个自动化部署工具是如何编写的?
二、工具下载
zookeeper-3.4.13集群一键部署工具
hbase-2.3.5单机一键部署工具
三、zookeeper部署
1、执行部署操作
# 1、复制配置文件
cp single.conf.tpl single.conf
# 2、编辑配置文件
# 建议填写为当前磁盘最大存储空间目录,如果系统盘空间最大,建议填写为/data,如果挂在盘空间最大,建议填写为挂载目录
export BASE_DIR="/data"
# zk数据存储目录
export ZOO_DATA_DIR="${BASE_DIR}/basic-data"
# zk服务ip地址,建议填写内网ip地址
export ZOO_HOST="192.168.1.11"
# zk客户端端口
export ZOO_CLIENT_PORT="2181"
# 3、执行部署脚本
./deploy.sh build single
效果如下图所示:
四、hbase部署
1、执行部署操作
# 1、复制配置文件
cp env.conf.tpl env.conf
# 2、编辑配置文件
# 建议填写为当前磁盘最大存储空间目录,如果系统盘空间最大,建议填写为/data,如果挂在盘空间最大,建议填写为挂载目录
export BASE_DIR="/data"
# zk服务ip地址,建议填写内网ip地址
export ZOO_HOST="192.168.1.11"
# zookeeper客户端端口,端口不冲突情况下,默认不修改
export ZOO_CLIENT_PORT="2181"
# hbase服务ip地址,建议填写内网ip地址
export HBASE_HOST="192.168.1.11"
# hbase数据容器映射宿主机根目录,默认不修改
export HBASE_DATA_DIR="${BASE_DIR}/basic-data"
# hbase服务端口,端口不冲突情况下,默认不修改
export HBASE_MASTER_PORT="16000" #HMaster绑定端口,端口不冲突情况下建议不修改
export HBASE_MASTER_INFO_PORT="16010" #HBase Master的Web UI端口,端口不冲突情况下建议不修改,如果不想启动UI实例,则可以将当前参数设置为-1
export HBASE_MASTER_BIND_ADDRESS="0.0.0.0" #HBase Master的Web UI绑定的地址,端口不冲突情况下建议不修改,默认为0.0.0.0,生产环境建议填写内网ip地址
export HBASE_REGION_PORT="16020" #HBase RegionServer绑定的端口,端口不冲突情况下建议不修改
export HBASE_REGION_INFO_PORT="16030" #HBase RegionServer的Web UI端口,,端口不冲突情况下建议不修改,设置为-1可以禁用HBase RegionServer的Web UI
export HBASE_REGION_BIND_ADDRESS="0.0.0.0" #HBase RegionServer的Web UI绑定的地址,默认为0.0.0.0,生产环境建议填写内网ip地址
# 3、执行部署脚本
./deploy.sh build single
效果如下图所示:
2、连接hbase,查看status,如下所示则表明部署成功
效果如下图所示:
总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:Linux运维实战总结