惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
D
Docker
Microsoft Security Blog
Microsoft Security Blog
Google DeepMind News
Google DeepMind News
M
MIT News - Artificial intelligence
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
Y
Y Combinator Blog
Vercel News
Vercel News
F
Fortinet All Blogs
B
Blog
Recent Announcements
Recent Announcements
A
About on SuperTechFans
GbyAI
GbyAI
T
The Blog of Author Tim Ferriss
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
B
Blog RSS Feed
C
Check Point Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
Visual Studio Blog
月光博客
月光博客

博客园 - stone8386

微信调试工具,内网穿透工具,Localtunnel 使用 BackgroundService 创建 Windows 服务 centos8在更新yum源时提示失败 错误:为 repo ‘AppStream’下载元数据失败 c# 连接 sql server 数据库时报错,证书链是由不受信任的颁发机构颁发的。 锐浪报表 手工注册发布软件 - C/S报表开发 免COM DLL注册发布(绿色发布) - C/S报表开发 net 6 使用 加密sqlite 如何修复identity 2的默认登录路由中的错误 android studio 生成 keystore 命令 identityserver4 对接钉钉 centos yum install 找不到软件包 docker 挂载文件出错 在linux 或docker中使用 system.drawing.common docker 发布到私有docker registry docker 不能访问外网 centos 网卡状态 ngxin 配置ssl Install Docker Compose docker registry
docker 启动 redis集群
stone8386 · 2022-07-06 · via 博客园 - stone8386

 docker run -d --name redis-node-1 --net host --privileged=true -v /var/docker/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 /var/docker/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 /var/docker/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 /var/docker/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 /var/docker/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 /var/docker/redis/share/redis-node-6:/data redis --cluster-enabled yes --appendonly yes --port 6386

说明:

--net 使用宿主机的ip和端口, 默认

--privileged=true 获取宿主机root用户权限

--cluster-enabled yes 开启redis集群

--appendonly yes 开启持久化

--port 6386 redis端口号

docker exec -it redis-node-1 /bin/bash

redis-cli --cluster create 10.0.0.3:6381 10.0.0.3:6382 10.0.0.3:6383 10.0.0.3:6384 10.0.0.3:638\5 10.0.0.3:6386 --cluster-replicas 1

说明

--cluster=replicas 1 表示为每个master创建一个slave节点

查看集群状态

redis-cli -p 6381

cluster info

cluster nodes

redis-cli -p 6381 -c  

防止路由失效加参数 -c 并新增两个key

redis-cli --cluster check 10.0.0.3:6381

主从容错切换迁移

主从扩容

redis-cli --cluster add-node 10.0.0.3:6387 10.0.0.3:6381

6387是要作为master新增节点

6381是原来集群节点里面的领路人

重新分派槽号

redis-cli --cluster reshared 10.0.0.3:6381

redis-cli --cluster add-node 10.0.0.3:6388 10.0.0.3:6387 --cluster-slave --cluster-master-id xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

主从缩容

redis-cli --cluster del-node 10.0.0.3:6388 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

redis-cli --cluster reshared 10.0.0.3:6381

redis-cli --cluster del-node 10.0.0.3:6387 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

redis-cli --cluster check 10.0.0.3:6381

docker run -d -p 6379:6379 --name redis --privileged=true -v /var/docker/redis/redis.conf:/etc/redis/redis.conf -v /var/docker/data:/data redis redis-server /etc/redis/redis.conf