目录
1. 准备
2. 修改配置文件
3. 配置集群节点
4. 开始使用集群
1. 准备
#当前环境
[root@redis-cluster1 redis-5.0.5]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
#redis根目录
mkdir -p software/redis
准备6台虚拟机
redis-cluster1 | 192.168.10.13 |
redis-cluster2 | 192.168.10.14 |
redis-cluster3 | 192.168.10.15 |
redis-cluster4 | 192.168.10.16 |
redis-cluster5 | 192.168.10.17 |
redis-cluster6 | 192.168.10.18 |
每台虚拟机按照单例模式安装redis,可以参照【redis安装并创建服务】。
2. 修改配置文件
按照单例模式安装的redis,生成的配置文件没有打开集群模式,需要调整。
查看redis配置文件:cat /etc/redis/6379.conf ,找到集群配置项(官方配置文件约827行或者搜索“REDIS CLUSTER”)
大约100多行,大部分是注释,很详细,具体配置项包括:
#做为集群节点启动,必须
cluster-enabled yes
#节点配置文件。这个是节点自动创建的文件,不用收到编辑
#注意,如果同一台机器上部署集群的多个节点,每个节点的配置文件要区分,配置不同的配置文件
cluster-config-file nodes-6379.conf
#超时时间 单位:毫秒
cluster-node-timeout 15000
cluster-replica-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes
cluster-replica-no-failover no
修改配置文件后启动redis服务
3. 配置集群节点
#创建客户端链接,方便执行redis-cli
ln -s /root/software/redis/redis-5.0.5/src/redis-cli /usr/bin/
#配置集群
redis-cli --cluster create --cluster-replicas 1 192.168.10.13:6379 192.168.10.14:6379 192.168.10.15:6379 192.168.10.16:6379 192.168.10.17:6379 192.168.10.18:6379
启动是如果出现以上提示,可以根据提示选择其中一种操作进行处理,此处选择第二种,修改配置文件:
#vi /etc/redis/6379.conf
protected-mode no
重启服务后再次尝试
输入"yes"后等待其它节点加入。所有节点加入后,检查集群状态
[root@redis-cluster1 utils]# redis-cli
#检查各个节点
127.0.0.1:6379> cluster meet 192.168.10.13 6379
OK
127.0.0.1:6379> cluster meet 192.168.10.14 6379
OK
127.0.0.1:6379> cluster meet 192.168.10.15 6379
OK
127.0.0.1:6379> cluster meet 192.168.10.16 6379
OK
127.0.0.1:6379> cluster meet 192.168.10.17 6379
OK
127.0.0.1:6379> cluster meet 192.168.10.18 6379
OK
127.0.0.1:6379> cluster nodes
#查看集群中所有节点信息
f81ea165521bcc8e71d3ba201f22c293b15c2751 192.168.10.15:6379@16379 master - 0 1558507743000 3 connected 10923-16383
8a2c3948ffda9ebfc525d18e895aa8cf304ddfeb 192.168.10.14:6379@16379 master - 0 1558507743000 2 connected 5461-10922
a009eaf01d51181deda0572437e9fa661320d6fc 192.168.10.18:6379@16379 slave 8a2c3948ffda9ebfc525d18e895aa8cf304ddfeb 0 1558507742000 6 connected
3d6074ab8a71a059a387fa2077bc3abd2dbd3942 192.168.10.17:6379@16379 slave f22fdc8fa5453428a89fc45c0f3eee7f46bd8a3a 0 1558507743992 5 connected
f22fdc8fa5453428a89fc45c0f3eee7f46bd8a3a 192.168.10.13:6379@16379 myself,master - 0 1558507741000 1 connected 0-5460
c4c00431b81544ac6e4a62b4b1c4b3bdc7860cc6 192.168.10.16:6379@16379 slave f81ea165521bcc8e71d3ba201f22c293b15c2751 0 1558507741977 4 connected
127.0.0.1:6379> cluster info
#查看集群信息
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_ping_sent:433
cluster_stats_messages_pong_sent:501
cluster_stats_messages_meet_sent:6
cluster_stats_messages_sent:940
cluster_stats_messages_ping_received:468
cluster_stats_messages_pong_received:439
cluster_stats_messages_meet_received:33
cluster_stats_messages_received:940
127.0.0.1:6379>
能正常查看集群信息,redis集群搭建完成!
4. 开始使用集群
在任一节点设置key,然后通过另一节点查看value
注意:集群模式进入redis-cli客户端,需要加上-c参数
#在192.168.10.13设置key
[root@redis-cluster1 ~]# redis-cli -c
127.0.0.1:6379> set abc 123
-> Redirected to slot [7638] located at 192.168.10.14:6379
OK
192.168.10.14:6379>
#在192.168.10.14查看value
[root@redis-cluster2 ~]# redis-cli -c
127.0.0.1:6379> get abc
"123"
127.0.0.1:6379>