redis cluster创建三主三从详细过程,手把手教。。。。

问:为什么使用redis cluster 而不使用redis 哨兵机制?

答:哨兵机制主节点如果挂掉虽然无需人为手动设置从节点,他能够自己从从节点找出新的主节点但是主节点恢复后,原来的主节点会变成从节点。使用redis cluster实现了多个哨兵机制的原理,每台付服务器上面都有一个主节点和多个从节点,这样即使有一台服务器挂掉也不会影响其他两台的使用,大大减少了系统并发导致的系统奔溃的灾难。

话不多说开整!!!!!

第一步:安装redis(相信自己可以搞定)

假设你安装完了.......

(1)一般redis-server 默认安装地址在user/bin下面

第二步:设置思路

 

 可以看出来每一台服务其上面都有其他服务器的从节点,接下来开始分配服务为器

第三步设置思想:

第一台:

192.168.1.102:(master)

8001(master)   8004(master1-slave) 8007 (master2-slave)

第二台:

192.168.1.103(master1)

8002(master)    8005(master-slave) 8008(master2-slave)

第三台:

192.168.1.104  (master2)  

8003(master)   8006(master1-slave)8009(master-slave)

第四步开始执行过程:

注:所有目录创建在   /usr/local/redis‐cluster/****  便于管理

(1)创建文件夹:

第一台:
mkdir -p  /usr/local/redis‐cluster/{8001,8004,8007}

第二台:
mkdir -p  /usr/local/redis‐cluster/{8002,8005,8008}

第三台:
mkdir -p /usr/local/redis‐cluster/{8003,8006,8009}

 (2)复制redis.conf文件到这些目录下面,每台服务器都要执行(执行3X3=9遍)

注:“*” 用上级文件名称中对应的数字

cp /usr/bin/redis/redis.conf /usr/local/redis-cluster/800*/

(3)大张旗鼓的改每个文件里的配置信息:(修改3X3=9个文件)

vim /usr/local/redis-cluster/800*/redis.conf

(4)固定修改文件为:(修改3X3=9个文件)

 dir /usr/local/redis‐cluster/800*/
 cluster‐config‐file nodes‐800*.conf 
----放开
cluster-enabled yes 

---添加集群主从关系(老版本)

slaveof <masterip>(中间空格)<masterport>

--新版本是

replicaof <masterip> <masterport>

第五步:假设你都改完了(very good)

启动:(在执行9遍)
/usr/bin/redis-server /usr/local/redis-cluster/800*/redis.conf

(1)查询你的杰作:

ps -ef|grep redis 

----成功标识标识
吧啦吧啦... (cluster) 后面有cluster

诺结果就是这样子的:

 警告!警告!警告!关闭防火墙,或者放开相关端口

你应该会用到:关闭防火墙,或者打开所有端口(每个服务器都要查看):

需要执行:(3X3X3X3= ????遍)

查看防火墙端口是否开启:firewall-cmd --query-port=808*/tcp
添加防火墙开启端口:firewall-cmd --permanent --add-port=808*/tcp
重启防火墙:firewall-cmd --reload

第六步:致此你的任务快要完成了,剩下的结交给服务器吧!

/usr/bin/redis-cli --cluster create --cluster-replicas 2  192.168.1.102:8001 192.168.1.103:8002 192.168.1.104:8003 192.168.1.102:8004 192.168.1.103:8005 192.168.1.104:8006 192.168.1.102:8007 192.168.1.103:8008 192.168.1.104:8009  

相关参数介绍

1.create:创建一个集群环境host1:port1 ... hostN:portN
      --cluster-replicas 【arg】 :arg表示几个从节点(这里肯定是2了,三主二从嘛)
2.call:可以执行redis命令
3.add-node:将一个节点添加到集群里,第一个参数为新节点的ip:port,第二个参数为集群中任意一个已经存在的节点的ip:port
4.del-node:移除一个节点
5.reshard:重新分片
6.check:检查集群状态

第七步:等待执行结果,执行时间和服务器性能有关,反正我的很慢

成功的界面可以搜一搜,反正我还没执行完,博客都写完了。。。。

有问题的可以私我!

----------------------------------------------------------------------------------------------------------------------------

你有可能会无休止的等下去,就和我一样,其实执行到最后用不了5秒

解决方案:

等待原因

关于无休止等待的解决办法

结果展示:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个基于docker-compose编排的Redis集群部署方案,包括3个主节点和3个从节点。以下是示例代码: ``` version: '3' services: redis-1: image: redis:latest command: redis-server --port 6379 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes ports: - "6379:6379" volumes: - redis-data-1:/data networks: - redis-cluster redis-2: image: redis:latest command: redis-server --port 6380 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes ports: - "6380:6380" volumes: - redis-data-2:/data networks: - redis-cluster redis-3: image: redis:latest command: redis-server --port 6381 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes ports: - "6381:6381" volumes: - redis-data-3:/data networks: - redis-cluster redis-4: image: redis:latest command: redis-server --port 6382 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes ports: - "6382:6382" volumes: - redis-data-4:/data networks: - redis-cluster redis-5: image: redis:latest command: redis-server --port 6383 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes ports: - "6383:6383" volumes: - redis-data-5:/data networks: - redis-cluster redis-6: image: redis:latest command: redis-server --port 6384 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes ports: - "6384:6384" volumes: - redis-data-6:/data networks: - redis-cluster volumes: redis-data-1: redis-data-2: redis-data-3: redis-data-4: redis-data-5: redis-data-6: networks: redis-cluster: ``` 这个docker-compose文件会启动6个Redis容器,其中3个是主节点,3个是从节点,它们都运行在同一个网络下(`redis-cluster`)。每个容器都映射了一个端口,你可以通过这些端口直接访问Redis实例。 要启动集群,你需要在其中一个Redis容器中执行以下命令: ``` redis-cli --cluster create ``` 然后按照提示输入所有Redis实例的IP和端口,直到集群创建完成。注意,这个过程只需要在一个容器中执行一次即可。 希望这个部署方案对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值