Redis-Cluster ist ein verteilter Service-Cluster, der aus mehreren Master-Slave-Knotengruppen besteht. Er verfügt über Replikations-, Hochverfügbarkeits- und Sharding-Funktionen. Der Redis-Cluster kann Knotenentfernungs- und Failover-Funktionen ohne Sentinel durchführen. Jeder Knoten muss auf den Clustermodus eingestellt werden. Dieser Clustermodus hat keinen zentralen Knoten und kann laut offiziellen Dokumenten linear auf Zehntausende Knoten erweitert werden (die offizielle Empfehlung lautet nicht mehr als 1.000 Knoten). . Die Leistung und Hochverfügbarkeit des Redis-Clusters ist besser als bei der vorherigen Version des Sentinel-Modus und die Clusterkonfiguration ist sehr einfach.
Erstellen Sie die Umgebung.System: Centos7.4.Server Kingsoft CloudCluster-Start schreiben Skript und Skript stoppen
Starten Sie das Skript start_all.sh[root@jsy-bj-test00 ~]# yum install -y ruby rubygems
[work@jsy-bj-test00 ~]$ cp -rp redis redis1 [work@jsy-bj-test00 ~]$ cp -rp redis redis2 [work@jsy-bj-test00 ~]$ cp -rp redis redis3
#六个节点需做如下更改[work@jsy-bj-test00 ~]$ vim redis1/etc/redis.conf [work@jsy-bj-test00 ~]$ sed -i 's/port 6379/port 6380/g' redis5/etc/redis.conf #修改端口 port 6380#打开注释,开启集群模式cluster-enabled yes#集群的配置文件cluster-config-file nodes-6380.conf [work@jsy-bj-test00 ~]$ sed -i 's/cluster-config-file nodes-6379.conf/cluster-config-file nodes-6380.conf/g' redis5/etc/redis.conf#pidfile文件pidfile /var/run/redis_6380.pid [work@jsy-bj-test00 ~]$ sed -i 's/pidfile \/var\/run\/redis_6380.pid/pidfile \/var\/run\/redis_6380.pid/g' redis5/etc/redis.conf#日志文件 logfile "/home/work/logs/redis/6380.log"[work@jsy-bj-test00 ~]$ sed -i 's/logfile "\/home\/work\/logs\/redis\/6379.log"/logfile "\/home\/work\/logs\/redis\/6380.log"/g' redis5/etc/redis.conf#rdb持久化文件 dbfilename dump6380.rdb [work@jsy-bj-test00 ~]$ sed -i 's/dbfilename dump6379.rdb/dbfilename dump6380.rdb/g' redis5/etc/redis.conf#请求超时,单位毫秒cluster-node-timeout 5000#开启aof持久化方式appendonly yes#配置持久化文件appendfilename "appendonly6379.aof"[work@jsy-bj-test00 ~]$ sed -i 's/appendfilename "appendonly6379.aof"/appendfilename "appendonly6383.aof"/g' redis5/etc/redis.conf
/home/work/redis/bin/redis-server /home/work/redis/etc/redis.conf & /home/work/redis/bin/redis-server /home/work/redis/etc/redis6380.conf & /home/work/redis/bin/redis-server /home/work/redis/etc/redis6381.conf & /home/work/redis/bin/redis-server /home/work/redis/etc/redis6382.conf & /home/work/redis/bin/redis-server /home/work/redis/etc/redis6383.conf & /home/work/redis/bin/redis-server /home/work/redis/etc/redis6384.conf &
/home/work/redis/bin/redis-cli -p 6379 -a test shutdown /home/work/redis/bin/redis-cli -p 6380 -a test shutdown /home/work/redis/bin/redis-cli -p 6381 -a test shutdown /home/work/redis/bin/redis-cli -p 6382 -a test shutdown /home/work/redis/bin/redis-cli -p 6383 -a test shutdown /home/work/redis/bin/redis-cli -p 6384 -a test shutdown
[work@jsy-bj-test00 src]$ ./redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- redis (LoadError) from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'from ./redis-trib.rb:25:in `
[root@jsy-bj-test00 ~]# gem install redisFetching: redis-4.1.3.gem (100%) ERROR: Error installing redis: redis requires Ruby version >= 2.3.0.
Das obige ist der detaillierte Inhalt vonSo erstellen Sie einen Redis-Cluster. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!