> 文章列表 > Redis 集群搭建

Redis 集群搭建

Redis 集群搭建

前缀参考文章1:Centos7 安装并启动 Redis-6.2.6

前缀参考文章2:Redis 主从复制-服务器搭建【薪火相传/哨兵模式】

管道符查看所有redis进程:ps -ef|grep redis

杀死所有redis进程:killall redis-server

 

1. 首先修改 redis.conf 配置

[root@localhost ~]# cd /usr/local/redis-6.2.6
[root@localhost redis-6.2.6]# vim redis.conf

① 开启 daemonize yes

     此步骤是优化后端启动(启动不会弹出redis图标和大量繁琐信息)

进去编辑命令输入:/daemonize 回车直接跳转它的位置上

     将原先的注释掉,重新编辑开启 daemonize yes

 

② 打开集群模式 :cluster-enabled yes

 

③ 设定节点配置文件名:cluster-config-file nodes-6379.conf

     这个后面要单独配置

 ④ 设定节点失联时间:cluster-node-timeout 15000

      超过该时间(毫秒),集群自动进行主从切换

 

2. 在 cd /usr/local/redis-6.2.6/ 目录下拷贝六个 redis.conf

[root@localhost ~]# cd /usr/local/redis-6.2.6
[root@localhost redis-6.2.6]# vim redis6379.conf

 ① vim redis6379.conf 的编辑内容如下

include /usr/local/redis-6.2.6/redis.conf
pidfile "/var/run/redis_6379.pid"
port 6379
dbfilename "dump6379.rdb"
cluster-config-file nodes-6379.conf

② vim redis6380.conf 的编辑内容如下

 

include /usr/local/redis-6.2.6/redis.conf
pidfile "/var/run/redis_6380.pid"
port 6380
dbfilename "dump6380.rdb"
cluster-config-file nodes-6380.conf

③ vim redis6381.conf 的编辑内容如下

include /usr/local/redis-6.2.6/redis.conf
pidfile "/var/run/redis_6381.pid"
port 6381
dbfilename "dump6381.rdb"
cluster-config-file nodes-6381.conf

④ 如此反复,再编辑 redis6389.conf、redis6390.conf、redis6391.conf

 

端口全部替换命令  :%s/6379/6389

include /usr/local/redis-6.2.6/redis.conf
pidfile "/var/run/redis_6389.pid"
port 6389
dbfilename "dump6389.rdb"
cluster-config-file nodes-6389.conf
include /usr/local/redis-6.2.6/redis.conf
pidfile "/var/run/redis_6390.pid"
port 6390
dbfilename "dump6390.rdb"
cluster-config-file nodes-6390.conf
include /usr/local/redis-6.2.6/redis.conf
pidfile "/var/run/redis_6391.pid"
port 6391
dbfilename "dump6391.rdb"
cluster-config-file nodes-6391.conf

3. 以拷贝的六个文件作为参照启动服务

[root@localhost redis-6.2.6]# redis-server redis6379.conf 
[root@localhost redis-6.2.6]# redis-server redis6380.conf 
[root@localhost redis-6.2.6]# redis-server redis6381.conf 
[root@localhost redis-6.2.6]# redis-server redis6389.conf 
[root@localhost redis-6.2.6]# redis-server redis6390.conf 
[root@localhost redis-6.2.6]# redis-server redis6391.conf

4. 将六个节点合成一个集群

① 组合前,要确保所有redis实例启动后,nodes-xxxx.conf 文件都正常生成

 

② 合体为一个集群

redis-cli --cluster create 192.168.230.128:6379 192.168.230.128:6380 192.168.230.128:6381 192.168.230.128:6389 192.168.230.128:6390 192.168.230.128:6391 --cluster-replicas 1

 

5. 测试集群

[root@localhost redis-6.2.6]# redis-cli -c -p 6379
-c:表示以 集群 方式进入 节点 6379

 

此图可看出,集群成功! 

在节点6379 保存k1:1,计算槽空间为12706,属于节点6381位置,所以保存在节点6381,;

在节点6381 保存k2:2,计算槽空间为449,属于节点6379位置,所以保存在节点6379;

而无论保存在哪个节点的槽空间范围,我都可以在各个节点获取到对应的值。

通过 cluster nodes 命令查看集群信息