本文默认选择centos7做为安装,选择的机器为两台
依赖与下载
1.安装编译依赖
yum install -y gcc gcc-c++ libstdc++-devel
2.安装包下载
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
tar xf redis-6.2.6.tar.gz -C /usr/local/src/
3.编译
cd /usr/local/src/redis-6.2.6/ && make && make install
安装
1.创建集群配置目录信息
mkdir /usr/local/redis-cluster/{7001,7002,7003,data,pid}/{bin,conf,logs} -p
mkdir /usr/local/redis-cluster/{7004,7005,7006,data,pid}/{bin,conf,logs} -p
2.配置文件创建,如下ip地址以及端口记得手动修改
#拷贝原文件到每个集群端口中,仅列举两次命令
cp /usr/local/src/redis-6.2.6/redis.conf /usr/local/redis-cluster/7001/redis_7001.conf
cp /usr/local/src/redis-6.2.6/redis.conf /usr/local/redis-cluster/7004/redis_7004.conf
#修改配置文件/usr/local/redis-cluster/7001/redis_7001.conf
bind 172.xx.xx.xx #监听地址,选择本地ip地址
protected-mode no #关闭保护模式
port 7001 #端口号记得跟随配置文件修改
daemonize yes #后台运行
pidfile /usr/local/redis-cluster/7001/var/redis_7001.pid #pid存放路径记得跟随配置文件修改
logfile /usr/local/redis-cluster/7001/logs/redis_7001.log #日志存放路径记得跟随配置文件修改
always-show-logo yes #是否显示总日志
dbfilename redis_7001.rdb #持久化数据文件名称
dir /usr/local/redis-cluster/7001/data #持久化数据文件存放路径
cluster-enabled yes #开启集群模式
cluster-config-file nodes_7001.conf #集群模式配置文件名称
cluster-node-timeout 15000 #集群超时时间
3.启动命令
[root@redis01 redis-cluster]# /usr/local/src/redis-6.2.6/src/redis-server /usr/local/redis-cluster/7001/redis_7001.conf
[root@redis01 redis-cluster]# /usr/local/src/redis-6.2.6/src/redis-server /usr/local/redis-cluster/7002/redis_7002.conf
[root@redis01 redis-cluster]# /usr/local/src/redis-6.2.6/src/redis-server /usr/local/redis-cluster/7003/redis_7003.conf
[root@redis02 redis-cluster]# /usr/local/src/redis-6.2.6/src/redis-server /usr/local/redis-cluster/7004/redis_7004.conf
[root@redis02 redis-cluster]# /usr/local/src/redis-6.2.6/src/redis-server /usr/local/redis-cluster/7005/redis_7005.conf
[root@redis02 redis-cluster]# /usr/local/src/redis-6.2.6/src/redis-server /usr/local/redis-cluster/7006/redis_7006.conf
4.创建集群
[root@redis01 redis-cluster]# /usr/local/src/redis-6.2.6/src/redis-cli --cluster create 172.19.80.33:7001 172.19.80.33:7002 172.19.80.33:7003 172.19.80.34:7004 172.19.80.34:7005 172.19.80.34:7006 --cluster-replicas 1
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 172.19.80.34:7006 to 172.19.80.33:7001
Adding replica 172.19.80.33:7003 to 172.19.80.34:7004
Adding replica 172.19.80.34:7005 to 172.19.80.33:7002
M: d6ef90a8a2eee6491b1af98ad3f22fd16dbb29d8 172.19.80.33:7001
slots:[0-5460] (5461 slots) master
M: 737a0fa047515037e84d2eadd9f8e5f5709a535f 172.19.80.33:7002
slots:[10923-16383] (5461 slots) master
S: 69eabdf2814520edabe99b4fff44122ae8f50d6c 172.19.80.33:7003
replicates 0fa436ac3bbdd69241f0c444f6d1a73bf78c30f2
M: 0fa436ac3bbdd69241f0c444f6d1a73bf78c30f2 172.19.80.34:7004
slots:[5461-10922] (5462 slots) master
S: 404e72ca126bd5dbc8970712b716f3542b7ecaac 172.19.80.34:7005
replicates 737a0fa047515037e84d2eadd9f8e5f5709a535f
S: 336a3529fec88fdf37ad832770e476e13157b4b3 172.19.80.34:7006
replicates d6ef90a8a2eee6491b1af98ad3f22fd16dbb29d8
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 172.19.80.33:7001)
M: d6ef90a8a2eee6491b1af98ad3f22fd16dbb29d8 172.19.80.33:7001
slots:[0-5460] (5461 slots) master
1 additional replica(s)
S: 336a3529fec88fdf37ad832770e476e13157b4b3 172.19.80.34:7006
slots: (0 slots) slave
replicates d6ef90a8a2eee6491b1af98ad3f22fd16dbb29d8
S: 69eabdf2814520edabe99b4fff44122ae8f50d6c 172.19.80.33:7003
slots: (0 slots) slave
replicates 0fa436ac3bbdd69241f0c444f6d1a73bf78c30f2
M: 737a0fa047515037e84d2eadd9f8e5f5709a535f 172.19.80.33:7002
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
S: 404e72ca126bd5dbc8970712b716f3542b7ecaac 172.19.80.34:7005
slots: (0 slots) slave
replicates 737a0fa047515037e84d2eadd9f8e5f5709a535f
M: 0fa436ac3bbdd69241f0c444f6d1a73bf78c30f2 172.19.80.34:7004
slots:[5461-10922] (5462 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.
[root@redis01 redis-cluster]#
验证部分
[root@redis01 redis-cluster]# /usr/local/src/redis-6.2.6/src/redis-cli -h 172.19.80.33 -p 7001
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
172.19.80.33:7001> CLUSTER nodes
fd8e323c5ee24c72f17cb864b93e286cff822a6a 172.19.80.33:7003@17003 slave e4e1029f3f267e31f2ac7e028b77ef22d13de7b1 0 1676530325011 4 connected
8a80128a322c0a569bb9ce78e11f486ddc118313 172.19.80.33:7001@17001 myself,master - 0 1676530322000 1 connected 0-5460
90c9abb09be8931f90961025ea8cd6886123d42e 172.19.80.33:7002@17002 master - 0 1676530324005 2 connected 10923-16383
e4e1029f3f267e31f2ac7e028b77ef22d13de7b1 172.19.80.34:7004@17004 master - 0 1676530323000 4 connected 5461-10922
cf516efe85b602f7a42e5b1f609d5ca9f5a2f02d 172.19.80.34:7006@17006 slave 8a80128a322c0a569bb9ce78e11f486ddc118313 0 1676530321998 1 connected
36386998c6d1425e31b03cd96b9c220fffd33198 172.19.80.34:7005@17005 slave 90c9abb09be8931f90961025ea8cd6886123d42e 0 1676530324000 2 connected
172.19.80.33:7001> PING
PONG
172.19.80.33:7001> 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:96
cluster_stats_messages_pong_sent:102
cluster_stats_messages_sent:198
cluster_stats_messages_ping_received:97
cluster_stats_messages_pong_received:96
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:198