说明:本人只有三台虚拟机,所以本人将三个master分别放在三台虚拟机上;本人同时又考虑了主备模式,所以又
需要搭建三个slave,同时又不想将成对的主备放在同一台机器上(因为如果某一台Linux崩了,那岂不是该
Redis的主和备都崩了),所以这里将Redis的主与备相互错开放置进三个Linux里,若某一台机器崩了,那么
仍然有三个“有效的”Redis节点。
追注:若果机器有6个的话,就不需要考虑这个问题,一个机器上一个节点就完事了。
注:由于redis在创建集群时,需要考虑到单点故障以及高可用。所以需要采用主备模式。同时redis在管理集群判断
节点是否健康采用的是投票策略,所以主节点的数量一定是单数的。
如:创建redis的最小的集群,应该是三个实例,在加上主备模式,那么一共应该是6个redis实例;如果不考虑主备的
话,3个实例就能搭建最简单的Redis集群了
第一步 先安装一个单机版 参考 https://blog.csdn.net/qq_36147908/article/details/102742113
第二部 修改redis的redis.conf配置文件
第三部 删除redis安装目录redis-5.0.4目录下的.rdb文件。
说明:.rdb是Redis的数据(备份)文件,因为是拷贝的同一个Redis,所以需要删除此文件,否则创建集群时会出问题。
第四部 通过scp指令,将192.168.253.128上的redis文件夹递归拷贝至192.168.253.129以及192.168.253.130上的/opt目录下
scp -r redis-5.0.8 root@192.168.253.130:/opt
第五步 把 192.168.253.128 的 redis 重命名为redis-one-master,然后复制 一份命名为 redis-three-slave
-
# 通过mv来重命名
-
mv redis-5.0.8 redis-one-master
-
# 拷贝文件夹
-
cp -r redis-one-master/ ./redis-three-slave
注:同样的操作,在192.168.253.129上生成redis-two-master和redis-one-slave;
在192.168.253.130上生成redis-three-master和redis-two-slave。
第六步:修改三个slave的端口号、设置连接master的密码。分别编辑redis-one-slave、redis-two-slave、
redis-three-slave的配置文件redis.conf,将端口由6379改为6380;同时设置连接master的密码,
即 masterauth 123456
第七步 设置防火墙 即在每个机器都执行一遍
# CentOS7开放端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --zone=public --add-port=16379/tcp --permanent
firewall-cmd --zone=public --add-port=6380/tcp --permanent
firewall-cmd --zone=public --add-port=16380/tcp --permanent
# CentOS7重新加载防火墙
firewall-cmd --reload
#(CentOS)查看所有开放的端口
firewall-cmd --zone=public --list-ports
第八步 分别启动这个六个redis ,即 分别切换至这6个Redis的安装目录下,使用./src/redis-server redis.conf指令,后台启动这6个Redis;启动后使用ps -ef|grep redis指令查看redis进程:
第九步 在任意一个redis安装目录下 执行
src/redis-cli -a ds123 --cluster create 192.168.253.128:6379 192.168.253.129:6379 192.168.253.130:6379 192.168.253.130:6380 192.168.253.128:6380 192.168.253.129:6380 --cluster-replicas 1
注:因为我们开启了Redis密码认证,所以需要在这里-a ds123指明密码,其中ds123就是本人设置的密码。
注:--cluster-replicas 1中,1代表的是一个master有一个slave;前三个ip是master,后三个ip是对应的slave。
即完成了 后面测试自己测试就可以了