Redis 集群配置
三主三从集群搭建
新建6个redis容器
单台创建命令
docker run -d --name redis-node-1 --net host --privileged=true -v /data/redis/share/redis-node-1:/data redis -- cluster-enabled yes --appendonly yes --port 6381
命令解析
参数 | 含义 |
---|---|
-d | 后台启动 |
–name redis-node-1 | 将容器起名为 redis-node-1 |
–net host | 为了不做端口映射,加上之后容器内是什么端口 外部访问也是什么端口 |
–privileged=true | 给容器root权限 |
-v /data/redis/share/redis-node-1:/data | 容器数据卷 |
– cluster-enabled yes | 开启redis集群模式 |
–appendonly yes | 开启持久化 |
–port 6381 | 指定redis端口为6381 |
完整六台创建命令
六台容器之间需要修改的是 name、容器卷和端口号
docker run -d --name redis-node-1 --net host --privileged=true -v /data/redis/share/redis-node-1:/data redis -- cluster-enabled yes --appendonly yes --port 6381
docker run -d --name redis-node-2 --net host --privileged=true -v /data/redis/share/redis-node-2:/data redis -- cluster-enabled yes --appendonly yes --port 6382
docker run -d --name redis-node-3 --net host --privileged=true -v /data/redis/share/redis-node-3:/data redis -- cluster-enabled yes --appendonly yes --port 6383
docker run -d --name redis-node-4 --net host --privileged=true -v /data/redis/share/redis-node-4:/data redis -- cluster-enabled yes --appendonly yes --port 6384
docker run -d --name redis-node-5 --net host --privileged=true -v /data/redis/share/redis-node-5:/data redis -- cluster-enabled yes --appendonly yes --port 6385
docker run -d --name redis-node-6 --net host --privileged=true -v /data/redis/share/redis-node-6:/data redis -- cluster-enabled yes --appendonly yes --port 6386
构建主从关系
进入docker实例
docker exec -it redis-node-1 bash
执行分配命令
云服务器记得开放端口6381到16386 ip换成自己的 127本地地址貌似不管用
虚拟机需要关闭防火墙
redis-cli --cluster create 123.57.195.9:6381 123.57.195.9:6382 123.57.195.9:6383 123.57.195.9:6384 123.57.195.9:6385 123.57.195.9:6386 --cluster-replicas 1
看看连接信息
# 进入redis客户端
redis-cli -p 6381
# 在redis中输入命令
cluster info