标签:配置 安装ruby 3.3 port 宕机 ruby 客户端连接 输入 开始
高性能:
1、在多分片节点中,将16384个槽位,均匀分布到多个分片节点中
2、存数据时,将key做crc16(key),然后和16384进行取模,得出槽位值(0-16383之间)
3、根据计算得出的槽位值,找到相对应的分片节点的主节点,存储到相应槽位上
4、如果客户端当时连接的节点不是将来要存储的分片节点,分片集群会将客户端连接切换至真正存储节点进行数据存储
高可用:
在搭建集群时,会为每一个分片的主节点,对应一个从节点,实现slaveof的功能,同时当主节点down,实现类似于sentinel的自动failover的功能。
1、redis会有多组分片构成(3组)
2、redis cluster 使用固定个数的slot存储数据(一共16384slot)
3、每组分片分得1/3 slot个数(0-5500 5501-11000 11001-16383)
4、基于CRC16(key) % 16384 ====》值 (槽位号)。
规划、搭建过程:
6个redis实例,一般会放到3台硬件服务器
注:在企业规划中,一个分片的两个分到不同的物理机,防止硬件主机宕机造成的整个分片数据丢失。
端口号:7000-7005
1、安装集群插件
EPEL源安装ruby支持
yum install ruby rubygems -y
使用国内源
gem sources -l
gem sources -a http://mirrors.aliyun.com/rubygems/
gem sources --remove https://rubygems.org/
gem sources -l
gem install redis -v 3.3.3
或者:
gem sources -a http://mirrors.aliyun.com/rubygems/ --remove https://rubygems.org/
2、集群节点准备
1 mkdir /data/700{0..7} 2 3 vim /data/7000/redis.conf 4 port 7000 5 daemonize yes 6 pidfile /data/7000/redis.pid 7 loglevel notice 8 logfile "/data/7000/redis.log" 9 dbfilename dump.rdb 10 dir /data/7000 11 protected-mode no 12 cluster-enabled yes 13 cluster-config-file nodes.conf 14 cluster-node-timeout 5000 15 appendonly yes 16 17 18 vim /data/7001/redis.conf 19 port 7001 20 daemonize yes 21 pidfile /data/7001/redis.pid 22 loglevel notice 23 logfile "/data/7001/redis.log" 24 dbfilename dump.rdb 25 dir /data/7001 26 protected-mode no 27 cluster-enabled yes 28 cluster-config-file nodes.conf 29 cluster-node-timeout 5000 30 appendonly yes 31 32 33 vim /data/7002/redis.conf 34 port 7002 35 daemonize yes 36 pidfile /data/7002/redis.pid 37 loglevel notice 38 logfile "/data/7002/redis.log" 39 dbfilename dump.rdb 40 dir /data/7002 41 protected-mode no 42 cluster-enabled yes 43 cluster-config-file nodes.conf 44 cluster-node-timeout 5000 45 appendonly yes 46 47 48 49 vim /data/7003/redis.conf 50 port 7003 51 daemonize yes 52 pidfile /data/7003/redis.pid 53 loglevel notice 54 logfile "/data/7003/redis.log" 55 dbfilename dump.rdb 56 dir /data/7003 57 protected-mode no 58 cluster-enabled yes 59 cluster-config-file nodes.conf 60 cluster-node-timeout 5000 61 appendonly yes 62 63 64 65 vim /data/7004/redis.conf 66 port 7004 67 daemonize yes 68 pidfile /data/7004/redis.pid 69 loglevel notice 70 logfile "/data/7004/redis.log" 71 dbfilename dump.rdb 72 dir /data/7004 73 protected-mode no 74 cluster-enabled yes 75 cluster-config-file nodes.conf 76 cluster-node-timeout 5000 77 appendonly yes 78 79 80 vim /data/7005/redis.conf 81 port 7005 82 daemonize yes 83 pidfile /data/7005/redis.pid 84 loglevel notice 85 logfile "/data/7005/redis.log" 86 dbfilename dump.rdb 87 dir /data/7005 88 protected-mode no 89 cluster-enabled yes 90 cluster-config-file nodes.conf 91 cluster-node-timeout 5000 92 appendonly yes 93 94 95 96 vim /data/7006/redis.conf 97 port 7006 98 daemonize yes 99 pidfile /data/7006/redis.pid 100 loglevel notice 101 logfile "/data/7006/redis.log" 102 dbfilename dump.rdb 103 dir /data/7006 104 protected-mode no 105 cluster-enabled yes 106 cluster-config-file nodes.conf 107 cluster-node-timeout 5000 108 appendonly yes 109 110 111 vim /data/7007/redis.conf 112 port 7007 113 daemonize yes 114 pidfile /data/7007/redis.pid 115 loglevel notice 116 logfile "/data/7007/redis.log" 117 dbfilename dump.rdb 118 dir /data/7007 119 protected-mode no 120 cluster-enabled yes 121 cluster-config-file nodes.conf 122 cluster-node-timeout 5000 123 appendonly yes
启动节点:
1 redis-server /data/7000/redis.conf 2 redis-server /data/7001/redis.conf 3 redis-server /data/7002/redis.conf 4 redis-server /data/7003/redis.conf 5 redis-server /data/7004/redis.conf 6 redis-server /data/7005/redis.conf 7 redis-server /data/7006/redis.conf 8 redis-server /data/7007/redis.conf
1 [root@db01 ~]# ps -ef |grep redis
3、将节点加入集群管理
1 redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
4、集群状态查看
集群主节点状态
redis-cli -p 7000 cluster nodes | grep master
集群从节点状态
1 redis-cli -p 7000 cluster nodes | grep slave
集群节点管理
添加主节点:
1 redis-trib.rb add-node 127.0.0.1:7006 127.0.0.1:7000
add-node 后面写的地址为需要添加的地址
最后的地址为管理的地址
添加一个从节点
1 redis-trib.rb add-node --slave --master-id d3d67f8fd1680caba870a8b5a167c365088f6840 127.0.0.1:7007 127.0.0.1:7000
--master-id 后面的是对应的主节点id值
后面跟的是从节点地址
最后的是管理节点地址
-----------------------------注意---------------------------
转移slot(重新分片)----------------------------重点-----------------------每次添加都必须slot
添加节点后默认是没有slot的
运行
redis-trib.rb reshard 127.0.0.1:7000
后面的数字填写的是需要挪动的slot数 一般是16384除以主节点数得出的结果
这个id值为需要接收的id 就是哪个新添加需要接收slot的id值
这个是选择从哪里拿slot值, 选择all就是再所有节点上拿一点, 输入id值为选择从这个节点拿这么多
选择yes 表示开始配置!!!!!
标签:配置 安装ruby 3.3 port 宕机 ruby 客户端连接 输入 开始
原文地址:https://www.cnblogs.com/kingle-study/p/10044775.html