阅读量: 51
Redis集群思维导图
创建集群
一、创建自定义网络模式
代码语言:javascript复制docker network create --driver bridge --subnet 172.28.0.0/16 redis-group
二、Shell脚本快速创建集群
1. 创建配置文件夹并启动容器
代码语言:javascript复制# 创建集群配置文件夹
for port in $(seq 1 6);
do
mkdir -p ./mydata/redis/node-${port}/conf
touch ./mydata/redis/node-${port}/conf/redis.conf
cat << EOF >./mydata/redis/node-${port}/conf/redis.conf
port 6379
bind 0.0.0.0
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 172.28.0.1${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done
代码语言:javascript复制# 循环启动 docker 容器
for port in $(seq 1 6);
do
docker run -p 637${port}:6379 -p 1637${port}:16379 --name redis-${port}
-v /home/docker/redis-group/mydata/redis/node-${port}/data:/data
-v /home/docker/redis-group/mydata/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf
-d --net redis-group --ip 172.28.0.1${port} redis:latest redis-server /etc/redis/redis.conf
done
2. 集群配置
进入容器redis-1,并配置集群
代码语言:javascript复制# 进入 redis-1 容器
docker exec -it redis-1 /bin/bash
# 配置集群命令
redis-cli --cluster create 172.28.0.11:6379 172.28.0.12:6379 172.28.0.13:6379 172.28.0.14:6379 172.28.0.15:6379 172.28.0.16:6379
代码语言:javascript复制# 查看redis集群概况,加-c 是集群,不加-c是单机
redis-cli -c
测试集群数据写入
测试突发主节点瘫痪
代码语言:javascript复制# 到宿主主机命令行控制台,手动控制 redis-3容器暂停,达到节点瘫痪
docker stop redis-3
此时,redis-4从机,升为主机,代理原来主机的工作任务,由此实现高可用
总结
在未来,使用了虚拟化服务之后,所有技术都会慢慢的变得简单起来!