ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Linux-redis-5.0集群配置

2022-07-10 15:02:59  阅读:174  来源: 互联网

标签:5.0 10.0 cluster redis 6379 repl master Linux


设备环境

每个redis 节点采用相同的相同的redis版本、相同的密码、硬件配置

所有redis服务器必须没有任何数据

10.0.0.17           centos7          redis5.0       

10.0.0.27           centos7          redis5.0 

10.0.0.37           centos7          redis5.0 

10.0.0.47           centos7          redis5.0 

10.0.0.57           centos7          redis5.0 

10.0.0.67           centos7          redis5.0 

1、配置文件修改

redis配置文件修改,redis.conf

手动修改

[root@centos7-liyj ~]#vim /etc/redis.conf
bind 0.0.0.0
masterauth 123456   #建议配置,否则后期的master和slave主从复制无法成功,还需再配置
requirepass 123456
cluster-enabled yes #取消此行注释,必须开启集群,开启后redis 进程会有cluster标识
cluster-config-file nodes-6379.conf #取消此行注释,此为集群状态文件,记录主从关系及
slot范围信息,由redis cluster 集群自动创建和维护
cluster-require-full-coverage no   #默认值为yes,设为no可以防止一个节点不可用导致整
个cluster不可能

复制到其他节点上

[root@centos7-liyj ~]#scp /apps/redis/etc/redis.conf 10.0.0.27:/apps/redis/etc/
The authenticity of host '10.0.0.27 (10.0.0.27)' can't be established.
ECDSA key fingerprint is SHA256:a8HZZS4TTvzQbF1/XJKDZvry1Lwa+9/jYIYXRPwqfIk.
ECDSA key fingerprint is MD5:41:d8:d4:69:09:2c:35:d3:0a:91:79:cd:0e:e5:10:14.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.27' (ECDSA) to the list of known hosts.
root@10.0.0.27's password: 
redis.conf                                                                            100%   60KB  18.5MB/s   00:00    
[root@centos7-liyj ~]#scp /apps/redis/etc/redis.conf 10.0.0.37:/apps/redis/etc/
The authenticity of host '10.0.0.37 (10.0.0.37)' can't be established.
ECDSA key fingerprint is SHA256:a8HZZS4TTvzQbF1/XJKDZvry1Lwa+9/jYIYXRPwqfIk.
ECDSA key fingerprint is MD5:41:d8:d4:69:09:2c:35:d3:0a:91:79:cd:0e:e5:10:14.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.37' (ECDSA) to the list of known hosts.
root@10.0.0.37's password: 
redis.conf                                                                            100%   60KB  27.3MB/s   00:00    
[root@centos7-liyj ~]#scp /apps/redis/etc/redis.conf 10.0.0.47:/apps/redis/etc/
The authenticity of host '10.0.0.47 (10.0.0.47)' can't be established.
ECDSA key fingerprint is SHA256:a8HZZS4TTvzQbF1/XJKDZvry1Lwa+9/jYIYXRPwqfIk.
ECDSA key fingerprint is MD5:41:d8:d4:69:09:2c:35:d3:0a:91:79:cd:0e:e5:10:14.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.47' (ECDSA) to the list of known hosts.
root@10.0.0.47's password: 
redis.conf                                                                            100%   60KB  29.3MB/s   00:00    
[root@centos7-liyj ~]#scp /apps/redis/etc/redis.conf 10.0.0.57:/apps/redis/etc/
The authenticity of host '10.0.0.57 (10.0.0.57)' can't be established.
ECDSA key fingerprint is SHA256:a8HZZS4TTvzQbF1/XJKDZvry1Lwa+9/jYIYXRPwqfIk.
ECDSA key fingerprint is MD5:41:d8:d4:69:09:2c:35:d3:0a:91:79:cd:0e:e5:10:14.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.57' (ECDSA) to the list of known hosts.
root@10.0.0.57's password: 
Permission denied, please try again.
root@10.0.0.57's password: 
redis.conf                                                                            100%   60KB  23.3MB/s   00:00    
[root@centos7-liyj ~]#scp /apps/redis/etc/redis.conf 10.0.0.67:/apps/redis/etc/
The authenticity of host '10.0.0.67 (10.0.0.67)' can't be established.
ECDSA key fingerprint is SHA256:a8HZZS4TTvzQbF1/XJKDZvry1Lwa+9/jYIYXRPwqfIk.
ECDSA key fingerprint is MD5:41:d8:d4:69:09:2c:35:d3:0a:91:79:cd:0e:e5:10:14.
Are you sure you want to continue connecting (yes/no)? yte^H^H^H
Please type 'yes' or 'no': yes
Warning: Permanently added '10.0.0.67' (ECDSA) to the list of known hosts.
root@10.0.0.67's password: 
Permission denied, please try again.
root@10.0.0.67's password: 
redis.conf                                                                            100%   60KB  42.1MB/s   00:00    

所有所有节点启动或重启redis服务

systemctl enable --now redis  #redis未启动,执行此行
systemctl  restart redis      #redis已经启动,重启即可

 

redis集群配置

创建集群

#命令redis-cli的选项 --cluster-replicas 1 表示每个master对应一个slave节点

[root@centos7-liyj ~]#redis-cli -a 123456 --cluster create 10.0.0.17:6379 10.0.0.27:6379 10.0.0.37:6379 10.0.0.47:6379 10.0.0.57:6379 10.0.0.67:6379 --cluster-replicas 1
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 10.0.0.57:6379 to 10.0.0.17:6379
Adding replica 10.0.0.67:6379 to 10.0.0.27:6379
Adding replica 10.0.0.47:6379 to 10.0.0.37:6379
M: 97b46220a05f4ec75a07ee0a468dc0a871d715a3 10.0.0.17:6379    #带M的为master
   slots:[0-5460] (5461 slots) master                      #当前master的槽位起始 和结束位
M: ec6ec291571a8d16629897b3aa0628ac5c161820 10.0.0.27:6379
   slots:[5461-10922] (5462 slots) master
M: bd51f66ca1a1b07be2f0f0fd7ae1f829475a6809 10.0.0.37:6379
   slots:[10923-16383] (5461 slots) master
S: 0f63f38aa1cf2f330a7d2f96c647f3d96533ea9a 10.0.0.47:6379    #带S的slave
   replicates bd51f66ca1a1b07be2f0f0fd7ae1f829475a6809
S: 04db5ec527aa1c3b62a8a743b145bb3e1467249d 10.0.0.57:6379
   replicates 97b46220a05f4ec75a07ee0a468dc0a871d715a3
S: 32e7a2cd069a3fbff823ac9661dd20bdc9fcc012 10.0.0.67:6379
   replicates ec6ec291571a8d16629897b3aa0628ac5c161820
Can I set the above configuration? (type 'yes' to accept): yes #输入yes自动创建集群
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join
...
>>> Performing Cluster Check (using node 10.0.0.17:6379)
M: 97b46220a05f4ec75a07ee0a468dc0a871d715a3 10.0.0.17:6379
   slots:[0-5460] (5461 slots) master                      #已经分配的槽位
   1 additional replica(s)                                 #分配了一个slave
S: 0f63f38aa1cf2f330a7d2f96c647f3d96533ea9a 10.0.0.47:6379
   slots: (0 slots) slave                                  #slave没有分配槽位
   replicates bd51f66ca1a1b07be2f0f0fd7ae1f829475a6809     #对应的master的10.0.0.37的 ID
S: 32e7a2cd069a3fbff823ac9661dd20bdc9fcc012 10.0.0.67:6379
   slots: (0 slots) slave
   replicates ec6ec291571a8d16629897b3aa0628ac5c161820     #对应的master的10.0.0.27的ID
S: 04db5ec527aa1c3b62a8a743b145bb3e1467249d 10.0.0.57:6379
   slots: (0 slots) slave
   replicates 97b46220a05f4ec75a07ee0a468dc0a871d715a3     #对应的master的10.0.0.17的 ID
M: ec6ec291571a8d16629897b3aa0628ac5c161820 10.0.0.27:6379
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
M: bd51f66ca1a1b07be2f0f0fd7ae1f829475a6809 10.0.0.37:6379
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
[OK] All nodes agree about slots configuration.             #所有节点槽位分配完成
>>> Check for open slots...                                 #检查打开的槽位
>>> Check slots coverage...                                #检查插槽覆盖范围
[OK] All 16384 slots covered.                               #所有槽位(16384个)分配完成

查看主从状态

10.0.0.17 节点
[root@centos7-liyj ~]#redis-cli -a 123456 -c INFO replication
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Replication
role:master
connected_slaves:1
slave0:ip=10.0.0.57,port=6379,state=online,offset=1204,lag=1
master_replid:7b55e11479093abac4b63c965839dbcff729a016
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1218
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1218

10.0.0.27节点
[root@centos7-liyj ~]#redis-cli -a 123456 -c INFO replication
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Replication
role:master
connected_slaves:1
slave0:ip=10.0.0.67,port=6379,state=online,offset=1204,lag=0
master_replid:a45fc1d876fcd29a7f9877b60b7228102e8abb38
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1218
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1218

10.0.0.37节点
[root@centos7-liyj ~]#redis-cli -a 123456 -c INFO replication
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Replication
role:master
connected_slaves:1
slave0:ip=10.0.0.47,port=6379,state=online,offset=1204,lag=1
master_replid:f226151c30ebce938d03e773f544b43b6fcbfe13
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1218
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1218

10.0.0.47节点
[root@centos7-liyj ~]#redis-cli -a 123456 -c INFO replication
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Replication
role:slave
master_host:10.0.0.37
master_port:6379
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_repl_offset:1218
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:f226151c30ebce938d03e773f544b43b6fcbfe13
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1218
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1218

10.0.0.57节点
[root@centos7-liyj ~]#redis-cli -a 123456 -c INFO replication
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Replication
role:slave
master_host:10.0.0.17
master_port:6379
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:1218
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:7b55e11479093abac4b63c965839dbcff729a016
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1218
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1218

10.0.0.67节点
[root@centos7-lyj ~]#redis-cli -a 123456 -c INFO replication
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Replication
role:slave
master_host:10.0.0.27
master_port:6379
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:1218
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:a45fc1d876fcd29a7f9877b60b7228102e8abb38
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1218
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1218

 

验证集群状态

[root@centos7-lyj ~]#redis-cli -a 123456 cluster info
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
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:2
cluster_stats_messages_ping_sent:1284
cluster_stats_messages_pong_sent:1228
cluster_stats_messages_meet_sent:5
cluster_stats_messages_sent:2517
cluster_stats_messages_ping_received:1228
cluster_stats_messages_pong_received:1289
cluster_stats_messages_received:2517

 

标签:5.0,10.0,cluster,redis,6379,repl,master,Linux
来源: https://www.cnblogs.com/lyj1023/p/16463206.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有