一、部署背景
由于业务系统的特殊性,我们需要面向不通的客户安装我们的业务系统,而作为基础组件中的redis针对不同的客户环境需要多次部署哨兵集群,作为一个运维工程师,提升工作效率也是工作中的重要一环。所以我觉得有必要针对redis6.2.8 cluster集群编写自动化部署工具。
说明:如果有兴趣,可以从工具下载中获取下载链接,此工具可帮助你快速了解一个自动化部署工具是如何编写的?
二、工具介绍
一键部署工具实现功能如下:
1、支持伪集群部署
2、支持分布式集群部署
3、支持redis cluster集群数据、日志、配置文件持久化
4、支持数据目录、日志目录、端口、密码参数灵活配置
5、支持创建、启动、停止、重启、检测、卸载redis cluster集群
说明:工具使用非常简单,只需要修改变量文件,一分钟就可以快速帮你部署redis cluster集群。
三、工具使用
注意:单机伪集群是指在单主机部署redis哨兵集群,分布式集群是指在不同主机上部署redis cluster集群。
说明:这里就介绍单机伪集群的操作步骤
1、参数介绍
2、编辑变量文件
[root@localhost redis-cluster]# cp cluster.conf.tpl cluster.conf
[root@localhost redis-cluster]# vim cluster.conf
# 建议填写为当前磁盘最大存储空间目录,如果系统盘空间最大,建议填写为/data,如果挂在盘空间最大,建议填写为挂载目录
export BASE_DIR="/data"
# redis cluster集群之节点1内网ip地址及映射宿主机端口,根据实际情况填写
# 其中7001端口是客户端通信端口,17001端口是数据端口,用于集群总线,主要目的是用于节点的失败侦测、配置更新、故障转移授权等等
# 集群总线端口(客户端通信端口 + 10000)
export REDIS_NODE1_HOST="192.168.1.191"
export REDIS_NODE1_PORT="7001"
export REDIS_NODE1_ANNOUNCE_BUS_PORT="17001"
# redis cluster集群之节点2内网ip地址及映射宿主机端口,根据实际情况填写
# 其中7002端口是客户端通信端口,17002端口是数据端口,用于集群总线,主要目的是用于节点的失败侦测、配置更新、故障转移授权等等
# 集群总线端口(客户端通信端口 + 10000)
export REDIS_NODE2_HOST="192.168.1.191"
export REDIS_NODE2_PORT="7002"
export REDIS_NODE2_ANNOUNCE_BUS_PORT="17002"
# redis cluster集群之节点3内网ip地址及映射宿主机端口,根据实际情况填写
# 其中7003端口是客户端通信端口,17003端口是数据端口,用于集群总线,主要目的是用于节点的失败侦测、配置更新、故障转移授权等等
# 集群总线端口(客户端通信端口 + 10000)
export REDIS_NODE3_HOST="192.168.1.191"
export REDIS_NODE3_PORT="7003"
export REDIS_NODE3_ANNOUNCE_BUS_PORT="17003"
# redis cluster集群之节点4内网ip地址及映射宿主机端口,根据实际情况填写
# 其中7004端口是客户端通信端口,17004端口是数据端口,用于集群总线,主要目的是用于节点的失败侦测、配置更新、故障转移授权等等
# 集群总线端口(客户端通信端口 + 10000)
export REDIS_NODE4_HOST="192.168.1.191"
export REDIS_NODE4_PORT="7004"
export REDIS_NODE4_ANNOUNCE_BUS_PORT="17004"
# redis cluster集群之节点5内网ip地址及映射宿主机端口,根据实际情况填写
# 其中7005端口是客户端通信端口,17005端口是数据端口,用于集群总线,主要目的是用于节点的失败侦测、配置更新、故障转移授权等等
# 集群总线端口(客户端通信端口 + 10000)
export REDIS_NODE5_HOST="192.168.1.191"
export REDIS_NODE5_PORT="7005"
export REDIS_NODE5_ANNOUNCE_BUS_PORT="17005"
# redis cluster集群之节点6内网ip地址及映射宿主机端口,根据实际情况填写
# 其中7006端口是客户端通信端口,17006端口是数据端口,用于集群总线,主要目的是用于节点的失败侦测、配置更新、故障转移授权等等
# 集群总线端口(客户端通信端口 + 10000)
export REDIS_NODE6_HOST="192.168.1.191"
export REDIS_NODE6_PORT="7006"
export REDIS_NODE6_ANNOUNCE_BUS_PORT="17006"
# redis cluster集群密码,根据实际情况填写
export REDIS_PASSWORD="7XdsrrKRfHPA"
# 数据存放目录,一般为服务器上存储空间最大分区,默认不修改
export REDIS_DATA_DIR="${BASE_DIR}/basic-data/redis-cluster"
3、单机伪集群部署
集群节点信息如下所示:
4、单机伪集群状态检测
5、单机伪集群卸载
四、工具下载
基于docker-compose一键离线部署redis6.2.8 cluster集群工具
总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:《Linux运维篇:Linux系统运维指南》