使用以下命令下载,提取和编译Redis:
可以到redis官网下载
$ wget https://download.redis.io/releases/redis-6.2.1.tar.gz
$ tar xzf redis-6.2.1.tar.gz
$ cd redis-6.2.1
$ make && make install
配置文件需要修改项
bind 172.21.210.49
protected-mode no
port 7001
pidfile /opt/redis/redis7001/config/redis.pid
logfile "/opt/redis/redis7001/log/redis.log"
dbfilename dump.rdb
dir /opt/redis/redis7001/data/
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000
相同机器上配置不同redis.conf需要指定不同的dbfilename和cluster-config-file,如果是每台机器只有一个redis节点,可以从第一个机器将编译好的redis复制到不同的服务器上,然后删除dump.rdb和nodes.conf(cluster-config-file)指定的文件,否则会出现所机器的cluster-config-file文件里的ID相同,会一直卡在
Waiting for the cluster to join...
如果出现这种情况则需要停止每个节点的redis,然后删除dump.rdb和nodes.conf(cluster-config-file),再启动redis,再创建集群。
创建集群(低版本用的pury脚本,高版本直接redis-cli)
[root@host-172-21-210-49 bin]# ./redis-cli --cluster create --cluster-replicas 1 172.21.210.49:7001 172.21.210.49:7002 172.21.210.50:7001 172.21.210.50:7002 172.21.210.51:7001 172.21.210.51:7002
>>> 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.21.210.50:7002 to 172.21.210.49:7001
Adding replica 172.21.210.51:7002 to 172.21.210.50:7001
Adding replica 172.21.210.49:7002 to 172.21.210.51:7001
M: 6ba72e5deed297988a13aa489a50ab511f57832b 172.21.210.49:7001
slots:[0-5460] (5461 slots) master
S: 51c07a2503cb4538cec28914383c5928256edbd4 172.21.210.49:7002
replicates 2dfba2c4f639ff02c3ec8b6779536fad529a1b2d
M: 185d409bed817b9ce3eb0a37b67c73da015e4dd9 172.21.210.50:7001
slots:[5461-10922] (5462 slots) master
S: dd04963417efae84e3f34679972138ea13cbfecc 172.21.210.50:7002
replicates 6ba72e5deed297988a13aa489a50ab511f57832b
M: 2dfba2c4f639ff02c3ec8b6779536fad529a1b2d 172.21.210.51:7001
slots:[10923-16383] (5461 slots) master
S: da882be5c6ac4c75fc02d13040503751c0d69e4a 172.21.210.51:7002
replicates 185d409bed817b9ce3eb0a37b67c73da015e4dd9
Can I set the above configuration? (type ‘yes‘ to accept): 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.21.210.49:7001)
M: 6ba72e5deed297988a13aa489a50ab511f57832b 172.21.210.49:7001
slots:[0-5460] (5461 slots) master
1 additional replica(s)
M: 185d409bed817b9ce3eb0a37b67c73da015e4dd9 172.21.210.50:7001
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
S: dd04963417efae84e3f34679972138ea13cbfecc 172.21.210.50:7002
slots: (0 slots) slave
replicates 6ba72e5deed297988a13aa489a50ab511f57832b
S: 51c07a2503cb4538cec28914383c5928256edbd4 172.21.210.49:7002
slots: (0 slots) slave
replicates 2dfba2c4f639ff02c3ec8b6779536fad529a1b2d
M: 2dfba2c4f639ff02c3ec8b6779536fad529a1b2d 172.21.210.51:7001
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
S: da882be5c6ac4c75fc02d13040503751c0d69e4a 172.21.210.51:7002
slots: (0 slots) slave
replicates 185d409bed817b9ce3eb0a37b67c73da015e4dd9
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.