《Linux运维总结:基于ARM64+X86_64架构CPU使用docker-compose一键离线部署redis 6.2.14容器版TLS/SSL哨兵集群》
总结:整理不易,如果对你有帮助,可否点赞关注一下?更多详细内容请参考:《Linux运维篇:Linux系统运维指南》
一、部署配景
由于业务系统的特殊性,我们必要面向不通的客户安装我们的业务系统,而作为基础组件中的redis针对不同的客户环境必要多次部署集群,作为一个运维工程师,提拔工作效率也是工作中的紧张一环。所以我觉得有必要针对 X86_64 + ARM64 CPU架构redis 6.2.14容器版 TLS/SSL 哨兵集群编写主动化部署工具。
CPU架构 docker版本 docker-compose版本 X86_64 26.1.3 v2.29.0 ARM64 26.1.3 v2.29.0 二、工具先容
一键部署工具实现功能如下:
1、支持ARM64、X86_64架构CPU
2、支持TLS/SSL,证书有效期为100年
3、支持单实例部署
4、支持单机伪哨兵集群部署(1个master+1个slave+1个sentinel)
5、支持多机分布式哨兵集群部署(1个master+1个slave+1个sentinel)
6、支持数据目录、日志目录、端口、暗码、最大连接数等参数机动配置
7、支持数据文件、日志文件、配置文件持久化
8、支持创建、启动、停止、查抄、卸载等操纵
9、支持一键连接操纵
如下图所示:
https://i-blog.csdnimg.cn/direct/5a236f73a4654080b24e8a9cc41e7bb5.png
说明:工具使用非常简单,只必要修改变量文件,就可以快速帮你快速部署redis 6.2.14 TLS/SSL哨兵集群。
三、工具下载
基于X86-64+ARM64架构CPU使用docker-compose一键离线部署redis 6.2.14容器版TLS/SSL哨兵集群工具
四、部署步骤
说明:单机伪集群是指在单主机部署redis哨兵集群,分布式集群是指在多个不同主机上部署redis哨兵集群,这里部署的是多机分布式哨兵集群。
4.1、部署规划
1、查察帮助命令
https://i-blog.csdnimg.cn/direct/8112001e4b4f4d4cbb1df118662b1006.png
2、部署规划
说明:这里使用3台服务器部署哨兵集群。
宿主机IP 操纵系统 内核版本 节点说明 192.168.1.111 Ubuntu 22.04.2 LTS 5.15.0-113-generic master节点 192.168.1.112 Ubuntu 22.04.2 LTS 5.15.0-113-generic slave节点 192.168.1.113 Ubuntu 22.04.2 LTS 5.15.0-113-generic sentinel节点 4.2、部署master节点
1、准备一键部署工具包
说明:将一键部署工具包上传到master节点上。
2、编辑变量文件
说明:哨兵集群全部节点变量文件相同。
root@localhost:/opt/redis-sentinel# cp cluster.conf.tpl cluster.conf
root@localhost:/opt/redis-sentinel# vim cluster.conf
# 建议填写为当前磁盘最大存储空间目录,如果系统盘空间最大,建议填写为/data,如果挂在盘空间最大,建议填写为挂载目录
export BASE_DIR="/data"
# cpu架构,可选值为<x86_64和aarch64>,根据实际情况修改
export CPU_PLATFROM="x86_64"
# redis版本,默认不修改
export REDIS_VERSION="6.2.14"
# redis哨兵集群之master节点内网ip地址及映射宿主机端口,根据实际情况填写,端口不冲突情况下,建议不修改
export REDIS_MASTER_HOST="192.168.1.111"
export REDIS_MASTER_PORT="7001"
# redis哨兵集群之slave1节点内网ip地址及映射宿主机端口,根据实际情况填写,端口不冲突情况下,建议不修改
export REDIS_SLAVE_HOST="192.168.1.112"
export REDIS_SLAVE_PORT="7002"
# redis哨兵集群之sentinel节点内网ip地址及映射宿主机端口,根据实际情况填写,端口不冲突情况下,建议不修改
export REDIS_SENTINEL_HOST="192.168.1.113"
export REDIS_SENTINEL_PORT="7003"
# redis接受的最大并行连接数,如果该设置高于操作系统配置<文件描述符,ulimit -n>的最大连接跟踪阈值,则该设置无效
export REDIS_MAX_CONNECTIONS="10000"
# redis6.x版本支持多线程,不可超过CPU总核数,可使用lscpu命令查看
export CPU_CORE_NUMBER="1"
# redis哨兵集群密码,根据实际情况填写
export REDIS_PASSWORD="h1W4oKbeZi5trqHH"
# 数据存放目录,一般为服务器上存储空间最大分区,默认不修改
export REDIS_DATA_DIR="${BASE_DIR}/basic-data/redis-sentinel"
3、执行部署命令
root@localhost:/opt/redis-sentinel# ./op.sh build master
如下图所示:
https://i-blog.csdnimg.cn/direct/4ff9358e4cb24a579c02e878192e6516.png
4、分发部署包
root@localhost:/opt# scp -r redis-sentinel root@192.168.1.112:/opt
root@localhost:/opt# scp -r redis-sentinel root@192.168.1.113:/opt
4.3、部署slave节点
root@localhost:/opt/redis-sentinel# ./op.sh build slave
如下图所示:
https://i-blog.csdnimg.cn/direct/d930e0b9c0af4c57a8a71f2eb1cd1b7f.png
4.4、部署sentinel节点
root@localhost:/opt/redis-sentinel# ./op.sh build sentinel
如下图所示:
https://i-blog.csdnimg.cn/direct/2f84b610cb034950888f14c76029056b.png
五、其它操纵
5.1、启动
说明:分别在对应主机节点上执行。
root@localhost:/opt/redis-sentinel# ./op.sh start master
root@localhost:/opt/redis-sentinel# ./op.sh start slave
root@localhost:/opt/redis-sentinel# ./op.sh start sentinel
5.2、停止
说明:分别在对应主机节点上执行。
root@localhost:/opt/redis-sentinel# ./op.sh stop master
root@localhost:/opt/redis-sentinel# ./op.sh stop slave
root@localhost:/opt/redis-sentinel# ./op.sh stop sentinel
5.3、查抄
说明:分别在对应主机节点上执行。
root@localhost:/opt/redis-sentinel# ./op.sh check master
root@localhost:/opt/redis-sentinel# ./op.sh check slave
root@localhost:/opt/redis-sentinel# ./op.sh check sentinel
5.4、卸载
说明:分别在对应主机节点上执行。
root@localhost:/opt/redis-sentinel# ./op.sh clear master
root@localhost:/opt/redis-sentinel# ./op.sh clear slave
root@localhost:/opt/redis-sentinel# ./op.sh clear sentinel
5.5、连接
说明:分别在对应主机节点上执行。
root@localhost:/opt/redis-sentinel# cd tools/
root@localhost:/opt/redis-sentinel/tools# ./auto_connect.sh connect master
root@localhost:/opt/redis-sentinel# cd tools/
root@localhost:/opt/redis-sentinel/tools# ./auto_connect.sh connect slave
root@localhost:/opt/redis-sentinel# cd tools/
root@localhost:/opt/redis-sentinel/tools# ./auto_connect.sh connect sentinel
总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:《Linux运维篇:Linux系统运维指南》
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]