Heim  >  Artikel  >  Datenbank  >  So erstellen Sie einen Redis-Cluster unter Windows

So erstellen Sie einen Redis-Cluster unter Windows

王林
王林nach vorne
2021-03-05 09:28:561945Durchsuche

So erstellen Sie einen Redis-Cluster unter Windows

Vorwort:

Clustering bezieht sich auf die Bereitstellung desselben Dienstes durch Hinzufügen der Anzahl von Servern, um einen stabilen und effizienten Zustand zu erreichen. Warum Redis-Cluster verwenden? Der Redis-Cluster kann die Lese- und Schreibfunktionen von Redis verbessern.

Lassen Sie uns nun offiziell etwas über den Redis-Cluster lernen.

Vorbereitungsarbeit:

Erfordert 4 Komponenten: Redis, Ruby-Laufzeitumgebung, Redis Ruby-Treiber redis-xxxx.gem und Tool zum Erstellen eines Redis-Clusters redis-trib.rb. Verwenden Sie das Tool redis-trib.rb, um einen Redis-Cluster zu erstellen. Da diese Datei in der Ruby-Sprache geschrieben ist, müssen Sie die Ruby-Entwicklungsumgebung installieren und redis-xxxx.gem fahren.

So erstellen Sie einen Redis-Cluster unter Windows

1) Laden Sie die Redis-Installationsdatei herunter: https://github.com/MSOpenTech/redis/releases/. Redis bietet Download-Dateien im MSI- und Zip-Format. Laden Sie die Redis-x64-3.2.100-Version herunter Hier.

2) Laden Sie die Ruby-Installationsdatei herunter: http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.2.4-x64.exe

3) Laden Sie den Redis-Treiber in der Ruby-Umgebung herunter: https:// rubygems.org/gems/redis/versions/3.2.2, unter Berücksichtigung der Kompatibilität wird hier Version 3.2.2 heruntergeladen

Hinweis: Über den entsprechenden Link in der unteren rechten Ecke der Seite herunterladen

So erstellen Sie einen Redis-Cluster unter Windows

4) Laden Sie die offizielle Version von Redis herunter. Erstellen Sie die Ruby-Skriptdatei redis-trib.rb, die den Redis-Cluster erstellt. Der Pfad lautet wie folgt: https://raw.githubusercontent.com/MSOpenTech/redis/3.0/src/redis-trib.rb

Installieren Sie Redis

wird heruntergeladen, um Redis-x64-3.2.100.zip einfach zu dekomprimieren. Aus Gründen der Benutzerfreundlichkeit wird empfohlen, es im Stammverzeichnis des Laufwerksbuchstabens abzulegen, z. B.: D:Redis-ClusterRedis -x64-3.2.100.

Installieren Sie Redis und führen Sie 3 Instanzen aus (Redis-Cluster erfordert mindestens 3 Knoten, weniger als 3 können nicht erstellt werden);

Starten Sie 6 verschiedene Redis-Instanzen über Konfigurationsdateien, also hier 6380. 6381, 6382, 6383, 6384 und 6385 werden zum Ausführen von 6 Redis-Instanzen verwendet.

Hinweis:

(1) Um unnötige Fehler zu vermeiden, sollte die Konfigurationsdatei im utf8-Format gespeichert werden und keine Kommentare enthalten.

(2) Es gibt zwei Möglichkeiten, Protokolle in der Konfigurationsdatei zu speichern (speichern in Datei, Im Systemprotokoll speichern) Bitte wählen Sie je nach Bedarf eine davon aus:

loglevel notice    #日志的记录级别,notice是适合生产环境的
logfile "D:/Redis-Cluster/Redis-x64-3.2.100/Logs/redis6380_log.txt" #指定log的保持路径,默认是创建在Redis安装目录下,如果有子目录需要手动创建,如此处的Logs目录
syslog-enabled yes    #是否使用系统日志   
syslog-ident redis6380    #在系统日志的标识名

Hier wird die Methode des Speicherns in einer Datei verwendet. Erstellen Sie daher zunächst einen neuen Protokollordner im Redis-Verzeichnis D:Redis-ClusterRedis-x64- 3.2.100 .

Erstellen Sie im Stammverzeichnis der Redis-Installation Konfigurationsdateien mit dem Kodierungsformat utf-8: redis.6380.conf, redis.6381.conf, redis.6382.conf, redis.6383.conf, redis.6384.conf, redis .6385.conf.

redis.6380.conf,

port 6380      
loglevel notice    
logfile "D:/Redis-Cluster/Redis-x64-3.2.100/Logs/redis6380_log.txt"       
appendonly yes
appendfilename "appendonly.6380.aof"   
cluster-enabled yes                                    
cluster-config-file nodes.6380.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes

redis.6381.conf,

port 6381       
loglevel notice   
logfile "D:/Redis-Cluster/Redis-x64-3.2.100/Logs/redis6381_log.txt"       
appendonly yes
appendfilename "appendonly.6381.aof"    
cluster-enabled yes                                    
cluster-config-file nodes.6381.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes

redis.6382.conf,

port 6382       
loglevel notice    
logfile "D:/Redis-Cluster/Redis-x64-3.2.100/Logs/redis6382_log.txt"         
appendonly yes
appendfilename "appendonly.6382.aof"    
cluster-enabled yes                                    
cluster-config-file nodes.6382.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes

redis.6383.conf,

port 6383       
loglevel notice    
logfile "D:/Redis-Cluster/Redis-x64-3.2.100/Logs/redis6383_log.txt"         
appendonly yes
appendfilename "appendonly.6383.aof"    
cluster-enabled yes                                    
cluster-config-file nodes.6383.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes

redis .6384.conf,

port 6384       
loglevel notice    
logfile "D:/Redis-Cluster/Redis-x64-3.2.100/Logs/redis6384_log.txt"         
appendonly yes
appendfilename "appendonly.6384.aof"    
cluster-enabled yes                                    
cluster-config-file nodes.6384.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes

redis.6385.conf

port 6385       
loglevel notice    
logfile "D:/Redis-Cluster/Redis-x64-3.2.100/Logs/redis6385_log.txt"         
appendonly yes
appendfilename "appendonly.6385.aof"    
cluster-enabled yes                                    
cluster-config-file nodes.6385.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes

(Lernvideo-Sharing: Redis-Video-Tutorial)

Die Konfiguration wird wie folgt erklärt:

port 6380                                 #端口号
loglevel notice                           #日志的记录级别,notice是适合生产环境的
logfile "Logs/redis6380_log.txt"          #指定log的保持路径,默认是创建在Redis安装目录下,如果有子目录需要手动创建,如此处的Logs目录
syslog-enabled yes                        #是否使用系统日志
syslog-ident redis6380                    #在系统日志的标识名
appendonly yes                            #数据的保存为aof格式
appendfilename "appendonly.6380.aof"      #数据保存文件
cluster-enabled yes                       #是否开启集群
cluster-config-file nodes.6380.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes

Speichern Sie die oben genannten Konfigurationsdateien im Redis-Verzeichnis und verwenden Sie diese Konfigurationsdateien, um 6 Redis-Dienst installieren, der Befehl lautet wie folgt:

D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-install D:/Redis-Cluster/Redis-x64-3.2.100/redis.6380.conf --service-name redis6380
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-install D:/Redis-Cluster/Redis-x64-3.2.100/redis.6381.conf --service-name redis6381
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-install D:/Redis-Cluster/Redis-x64-3.2.100/redis.6382.conf --service-name redis6382
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-install D:/Redis-Cluster/Redis-x64-3.2.100/redis.6383.conf --service-name redis6383
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-install D:/Redis-Cluster/Redis-x64-3.2.100/redis.6384.conf --service-name redis6384
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-install D:/Redis-Cluster/Redis-x64-3.2.100/redis.6385.conf --service-name redis6385

Hinweis:

1) Es ist am besten, den vollständigen Pfad für Konfigurationsdateien wie redis.6380.conf zu verwenden, um Probleme beim Neustart des Redis-Clusters zu vermeiden

2) Der Deinstallationsbefehl lautet:

D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-uninstall D:/Redis-Cluster/Redis-x64-3.2.100/redis.6380.conf --service-name redis6380
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-uninstall D:/Redis-Cluster/Redis-x64-3.2.100/redis.6381.conf --service-name redis6381
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-uninstall D:/Redis-Cluster/Redis-x64-3.2.100/redis.6382.conf --service-name redis6382
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-uninstall D:/Redis-Cluster/Redis-x64-3.2.100/redis.6383.conf --service-name redis6383
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-uninstall D:/Redis-Cluster/Redis-x64-3.2.100/redis.6384.conf --service-name redis6384
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-uninstall D:/Redis-Cluster/Redis-x64-3.2.100/redis.6385.conf --service-name redis6385

Starten Sie diese 6 Dienste. Der Befehl lautet wie folgt:

D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-start --service-name redis6380
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-start --service-name redis6381
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-start --service-name redis6382
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-start --service-name redis6383
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-start --service-name redis6384
D:/Redis-Cluster/Redis-x64-3.2.100/redis-server.exe --service-start --service-name redis6385

Ausführungsergebnis:

So erstellen Sie einen Redis-Cluster unter Windows

Ruby installieren

(1) Installation der Ruby-Umgebung.

Doppelklicken Sie auf die heruntergeladene Datei „rubyinstaller-2.2.4-x64.exe“, um sie zu installieren. Zur Vereinfachung der Bedienung wird außerdem empfohlen, sie im Stammverzeichnis des Laufwerksbuchstabens zu installieren, z. B.: C:Ruby22 -x64. Wählen Sie hier während der Installation die letzten beiden Optionen aus.

So erstellen Sie einen Redis-Cluster unter Windows

bedeutet, Ruby zu den Umgebungsvariablen des Systems hinzuzufügen, und Sie können den Ruby-Befehl direkt im cmd-Befehl verwenden der Redis-Treiber in der Ruby-Umgebung

Die heruntergeladene „Ruby-Umgebung“ Kopieren Sie die Redis-Treiberdatei (redis-3.2.2.gem) in das Ruby-Installationsstammverzeichnis (C:Ruby22-x64).

Dann führen Sie den Installationsbefehl wie folgt aus:

gem install --local path_to_gem/filename.gem

So erstellen Sie einen Redis-Cluster unter WindowsErstellen Sie einen Redis-Cluster

Kopieren Sie die heruntergeladene „Ruby-Skriptdatei redis-trib.rb zum Erstellen eines Redis-Clusters“ in das Redis-Installationsstammverzeichnis (D:Redis -ClusterRedis- x64-3.2.100).

(1) Verwenden Sie redis-trib.rb, um einen Redis-Cluster zu erstellen.

Wechseln Sie in das Redis-Verzeichnis unter MD (D:Redis-ClusterRedis-x64-3.2.100)

D:/Redis-Cluster/Redis-x64 -3.2 .100/redis-trib.rb create --replicas 1 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6385

D:\Redis-Cluster\Redis-x64-3.2.100>redis-trib.rb create --replicas 1 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 127.0.0.1:6385
>>> Creating cluster
Connecting to node 127.0.0.1:6380: OK
Connecting to node 127.0.0.1:6381: OK
Connecting to node 127.0.0.1:6382: OK
Connecting to node 127.0.0.1:6383: OK
Connecting to node 127.0.0.1:6384: OK
Connecting to node 127.0.0.1:6385: OK
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
127.0.0.1:6380
127.0.0.1:6381
127.0.0.1:6382
Adding replica 127.0.0.1:6383 to 127.0.0.1:6380
Adding replica 127.0.0.1:6384 to 127.0.0.1:6381
Adding replica 127.0.0.1:6385 to 127.0.0.1:6382
M: bb6ef615bb0ae13275943caec0db9d30b9f35c5e 127.0.0.1:6380   slots:0-5460      (5461 slots) master
M: b4d120f2983ad683f7b68992e1ba414722238db7 127.0.0.1:6381   slots:5461-10922  (5462 slots) master
M: 837779b3965e2c9d4dd4385750aaaaf9a9039fb0 127.0.0.1:6382   slots:10923-16383 (5461 slots) master
S: 5d154137180284d926ef51a91fc75f9438249ef8 127.0.0.1:6383   replicates bb6ef615bb0ae13275943caec0db9d30b9f35c5e
S: ad151680a3e36cf2083ef822be0bdb075a7d36de 127.0.0.1:6384   replicates b4d120f2983ad683f7b68992e1ba414722238db7
S: 9a2260a5a6a2add84b622a453a6a7b86a29d180d 127.0.0.1:6385   replicates 837779b3965e2c9d4dd4385750aaaaf9a9039fb0
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 127.0.0.1:6380)M: bb6ef615bb0ae13275943caec0db9d30b9f35c5e 127.0.0.1:6380   slots:0-5460      (5461 slots) master
M: b4d120f2983ad683f7b68992e1ba414722238db7 127.0.0.1:6381   slots:5461-10922  (5462 slots) master
M: 837779b3965e2c9d4dd4385750aaaaf9a9039fb0 127.0.0.1:6382   slots:10923-16383 (5461 slots) master
M: 5d154137180284d926ef51a91fc75f9438249ef8 127.0.0.1:6383   slots:            (0 slots)    master   replicates bb6ef615bb0ae13275943caec0db9d30b9f35c5e
M: ad151680a3e36cf2083ef822be0bdb075a7d36de 127.0.0.1:6384   slots:            (0 slots)    master   replicates b4d120f2983ad683f7b68992e1ba414722238db7
M: 9a2260a5a6a2add84b622a453a6a7b86a29d180d 127.0.0.1:6385   slots:            (0 slots)    master   replicates 837779b3965e2c9d4dd4385750aaaaf9a9039fb0
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
:

(1)--replicas #指定集群中每个主节点配备几个从节点,这里设置为1。

(2)redis-trib.rb工具的使用

、create:创建集群
、check:检查集群
、info:查看集群信息
、fix:修复集群
、reshard:在线迁移slot
、rebalance:平衡集群节点slot数量
、add-node:将新节点加入集群
、del-node:从集群中删除节点
、set-timeout:设置集群节点间心跳连接的超时时间
、call:在集群全部节点上执行命令
、import:将外部redis数据导入集群

(2)检验是否真的创建成功

输入以下命令:

redis-trib.rb check 127.0.0.1:6380

如果现实信息如下,则说明创建的Redis集群是没问题。

D:\Redis-Cluster\Redis-x64-3.2.100>redis-trib.rb check 127.0.0.1:6380
Connecting to node 127.0.0.1:6380: OK
Connecting to node 127.0.0.1:6383: OK
Connecting to node 127.0.0.1:6382: OK
Connecting to node 127.0.0.1:6384: OK
Connecting to node 127.0.0.1:6385: OK
Connecting to node 127.0.0.1:6381: OK
>>> Performing Cluster Check (using node 127.0.0.1:6380)
M: bb6ef615bb0ae13275943caec0db9d30b9f35c5e 127.0.0.1:6380   slots:0-5460      (5461 slots) master   1 additional replica(s)
S: 5d154137180284d926ef51a91fc75f9438249ef8 127.0.0.1:6383   slots:            (0 slots)    slave    replicates bb6ef615bb0ae13275943caec0db9d30b9f35c5e
M: 837779b3965e2c9d4dd4385750aaaaf9a9039fb0 127.0.0.1:6382   slots:10923-16383 (5461 slots) master   1 additional replica(s)
S: ad151680a3e36cf2083ef822be0bdb075a7d36de 127.0.0.1:6384   slots:            (0 slots)    slave    replicates b4d120f2983ad683f7b68992e1ba414722238db7
S: 9a2260a5a6a2add84b622a453a6a7b86a29d180d 127.0.0.1:6385   slots:            (0 slots)    slave    replicates 837779b3965e2c9d4dd4385750aaaaf9a9039fb0
M: b4d120f2983ad683f7b68992e1ba414722238db7 127.0.0.1:6381   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.

D:\Redis-Cluster\Redis-x64-3.2.100>

(3)信息查询

使用Redis客户端Redis-cli.exe来查看数据记录数,以及集群相关信息

So erstellen Sie einen Redis-Cluster unter Windows

原文作者:cctext

原文链接:https://www.cnblogs.com/yy3b2007com/p/11033009.html

相关推荐:redis数据库教程

Das obige ist der detaillierte Inhalt vonSo erstellen Sie einen Redis-Cluster unter Windows. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen