2016-01-05 16 views
9

Ich habe MSOpenTech Redis Version 3.x heruntergeladen, die die lang erwartete Clustering-Funktion enthält. Meine Redis-Datenbank funktioniert und ich kann meinen Cluster auf den benötigten 3 Knoten starten (im Cluster-Modus). Weiß jemand wie man den Cluster konfiguriert (es scheint niemand weiß)? Die Installation von Linux und das Ausführen der nativen Linux-Version ist für mich leider keine Option. Jede Hilfe würde sehr geschätzt werden.Redis auf Windows-Cluster-Setup

Antwort

8

Sie können die Redis Cluster Tutorial folgen und zum Erstellen des Clusters können Sie das Ruby-Skript redis-trib.rb verwenden, für das Sie Ruby for Windows installieren müssen.

Zum Beispiel:

> C:\Ruby22\Bin\ruby.exe redis-trib.rb create --replicas 1 192.168.1.1:7000 192.168.1.1:7001 192.168.1.1:7002 192.168.1.1:7003 192.168.1.1:7004 192.168.1.1:7005 
+1

Es wird beschweren: 55: in 'require ': kann solche Datei nicht laden - redis (LoadError) Irgendwelche Vorschläge? – AlexS

+4

@Woland Sie müssen den Redis Ruby Gem installieren. Sie müssen möglicherweise nach dem richtigen Pfad zu gem.exe suchen, aber als Admin, führen Sie 'C: \ Ruby22 \ Bin \ gem.exe installieren Sie redis ' – uxp

+0

installieren Sie Edelsteine ​​mit dem Befehl" Gem Install redis " –

1

Haben Sie nicht die Möglichkeit haben, Ruby on Windows zu installieren, fand aber die manuellen Schritte für mich gearbeitet. Das Ruby-Skript scheint zu tun, dass eine Menge Prüfmittel korrekt eingerichtet sind und ist die bevorzugte Installationsroute. So, Vorsicht, hier sind Drachen.

Legen Sie fest, dass jeder Knoten im Clustermodus ausgeführt werden soll. Bearbeiten Sie die Datei redis.windows-service.conf und geben Sie

cluster-enabled yes 
cluster-config-file nodes-6379.conf 
cluster-node-timeout 15000 

ein, um den Dienst neu zu starten.

Führen Sie ein Powershell-Fenster aus und wechseln Sie zum Redis-Installationsordner, und starten Sie den redis-cli. z.B.

cd "C:\Program Files\Redis" 
.\redis-cli.exe 

Jetzt können Sie anderen Knoten beitreten. Führen Sie CLUSTER MEET IPADDRESS PORT für jeden der anderen Knoten als die Instanz aus, auf der Sie sich gerade befinden. z.B.

CLUSTER MEET 10.10.0.2 6379 

Nach einigen Sekunden

CLUSTER NODES 

ausgeführt wird, sollte eine Liste aller Knoten verbunden, aber alle werden als MASTER eingestellt werden.

Führen Sie auf jedem der anderen Knoten CLUSTER REPLICATE MASTERNODEID aus. Wenn MASTERNODEID der Hash-aussehende Wert ist, dann deklarierte der Knoten "Ich" auf Ihrem Master, wenn CLUSTER NODES ausgeführt wird. z.B.

CLUSTER REPLICATE b7c767ab3ab7c4a926ac2fed937cf140b96764a7 

Jetzt jedem Master Slots zuweisen. Mein Setup hat drei Instanzen, nur einen Master.

for ($slot=0;$slot -le 16383;$slot++) { 
    .\redis-cli.exe -h REDMST CLUSTER ADDSLOTS $slot 
} 

Verbinden Sie sich erneut mit redis-cli und versuchen Sie, Daten zu speichern. z.B.

SET foo bar 
OK 
GET foo 
"bar" 

Puh! Das meiste davon kommt aus dem Lesen von https://www.javacodegeeks.com/2015/09/redis-clustering.html#InstallingRedis, das nicht Windows-spezifisch ist.