Docker下 redis-cluster部署
三台机器node1 node2 node3三台机器都需要执行以下两个脚本!
每台机器跑两个redis服务,3台机器,集群模式最少3个master几点,3主3从。
脚本名:
/opt/scripts/redis_cluster_7001.sh
#!/bin/bash
#redis 重启脚本
access_port=7001 #启动监听的端口
role=node-${access_port}
password=root@123
data_path=/data/redis/data_cluster_${access_port}
function restart_master_redis() {
container_name=redis-${role}
docker kill $container_name || echo "ok"
docker rm $container_name || echo "ok"
docker run \
--name redis-${role} \
--net=host \
--restart=always \
-v ${data_path}:/data \
-d redis:5.0.4 \
redis-server --port ${access_port} --appendonly yes --requirepass ${password} --masterauth ${password} --cluster-enabled yes --cluster-node-timeout 5000
}
restart_master_redis
脚本名:
/opt/scripts/redis_cluster_7002.sh
#!/bin/bash
#redis 重启脚本
access_port=7002 #启动监听的端口
role=node-${access_port}
password=root@123
data_path=/data/redis/data_cluster_${access_port}
function restart_master_redis() {
container_name=redis-${role}
docker kill $container_name || echo "ok"
docker rm $container_name || echo "ok"
docker run \
--name redis-${role} \
--net=host \
--restart=always \
-v ${data_path}:/data \
-d redis:5.0.4 \
redis-server --port ${access_port} --appendonly yes --requirepass ${password} --masterauth ${password} --cluster-enabled yes --cluster-node-timeout 5000
}
restart_master_redis创建集群,检查进群状态。以下命令在任意一台机器,执行一次就行!
docker exec -it redis-node-7001 bash
redis-cli -a root@123 --cluster create 10.121.2.202:7001 10.121.2.202:7002 10.121.2.203:7001 10.121.2.203:7002 10.121.2.204:7001 10.121.2.204:7002 --cluster-replicas 1
redis-cli -h 127.0.0.1 -p 7001 -a root@123 cluster nodes

浙公网安备 33010602011771号