Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
redis [08.01.2017 10:53] – [PHP Cluster Client] havelock | redis [17.07.2021 14:27] (aktuell) – [Knoten zum Cluster hinzufügen] havelock | ||
---|---|---|---|
Zeile 10: | Zeile 10: | ||
Ein Zugriff von den Knoten oder gar den Clients ist nicht vorgesehen. | Ein Zugriff von den Knoten oder gar den Clients ist nicht vorgesehen. | ||
- | Aktuell eingesetzte Version: **3.2.6** | + | Aktuell eingesetzte Version: **3.2.11** |
+ | |||
+ | :!: Die Version 4 werden wir erst einsetzen, wenn die Server auf Debian Buster (10) gewechselt sind. | ||
Der Download der Quellen befindet sich unter: http:// | Der Download der Quellen befindet sich unter: http:// | ||
Zeile 18: | Zeile 20: | ||
Benötigte Pakete: | Benötigte Pakete: | ||
- | aptitude install ruby libjemalloc1 | + | aptitude install ruby libjemalloc1 |
Wir wollen die aktuelle, clusterfähige Version haben, also übersetzen wir uns das Ding einfach selber: | Wir wollen die aktuelle, clusterfähige Version haben, also übersetzen wir uns das Ding einfach selber: | ||
Zeile 41: | Zeile 43: | ||
<file conf / | <file conf / | ||
- | vm_overcommit_memory=1 | + | vm.overcommit_memory=1 |
</ | </ | ||
Zeile 93: | Zeile 95: | ||
Die folgenden Konfiguratonsbeispiele beziehen sich auf '' | Die folgenden Konfiguratonsbeispiele beziehen sich auf '' | ||
- | Wichtig: Bei dem bind Befehl muß die localhost-Adresse an zweiter Stelle stehen. Anderenfalls funktioniert der Cluster nicht. | + | Wichtig: |
+ | * Bei dem bind Befehl muß die localhost-Adresse an zweiter Stelle stehen. Anderenfalls funktioniert der Cluster nicht. | ||
+ | * '' | ||
Konfigurationsdatei für den Master | Konfigurationsdatei für den Master | ||
Zeile 193: | Zeile 197: | ||
</ | </ | ||
- | Cluster initialisieren: | + | Damit die Anzeige von iptables besser lesbar ist, kann die Datei ''/ |
+ | angepaßt werden: | ||
+ | <file conf / | ||
+ | redis | ||
+ | redis | ||
+ | redis-cluster | ||
+ | redis-cluster | ||
+ | </ | ||
+ | |||
+ | ==== Cluster initialisieren | ||
* Auf allen beteiligten Servern:< | * Auf allen beteiligten Servern:< | ||
/ | / | ||
Zeile 217: | Zeile 231: | ||
==== Knoten zum Cluster hinzufügen ==== | ==== Knoten zum Cluster hinzufügen ==== | ||
Achtung: Das ist nur ein Merker für das grobe Vorgehen und ist | Achtung: Das ist nur ein Merker für das grobe Vorgehen und ist | ||
- | Fehlerhaft. Insbesondere die korrekte | + | ggf. fehlerhaft. |
- | noch nicht klar. | + | Beim Slave ist die erste Adresse/ |
+ | Zweite der zu verwendende Master | ||
- Knoten aufsetzen< | - Knoten aufsetzen< | ||
./ | ./ | ||
- | ./ | + | ./ |
</ | </ | ||
- | - Stlot neu aufteilen< | + | - Slot neu aufteilen< |
./ | ./ | ||
+ | </ | ||
+ | |||
+ | ==== Knoten vom Cluster entfernen ==== | ||
+ | |||
+ | * Prozesse sollten nicht laufen: ''/ | ||
+ | * Verzeichnisse leeren< | ||
+ | rm / | ||
+ | rm / | ||
+ | </ | ||
+ | * Auf allen übrigen Serverinstanzen die verwaisten Knoten-IDs entfernen< | ||
+ | cluster forget 11de37b1018dbd8a83fa6000af6381630468e01e | ||
</ | </ | ||
Zeile 231: | Zeile 257: | ||
* '' | * '' | ||
* '' | * '' | ||
- | * '' | + | * '' |
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
===== Update ===== | ===== Update ===== | ||
Zeile 246: | Zeile 276: | ||
make install | make install | ||
gem install redis | gem install redis | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | ===== Ruby Gems ===== | ||
+ | |||
+ | Wenn man '' | ||
+ | < | ||
+ | gem list redis | ||
+ | </ | ||
+ | Eine alte Version kann gezielt entfernt werden | ||
+ | < | ||
+ | gem uninstall redis --version 3.2.2 | ||
+ | </ | ||
+ | Ebenso kann man sich eine spezielle Version installieren: | ||
+ | < | ||
+ | gem install redis --version 3.3.5 | ||
+ | </ | ||
+ | Eine Übersicht über die verfügbaren Versionen kann man erhalten mit: | ||
+ | < | ||
+ | gem list ^redis$ --remote --all | ||
+ | </ | ||
+ | |||
+ | ====== Cluster Client ====== | ||
+ | |||
+ | Wenn die Client-Software //nicht// auf einem der Clusterknoten läuft, ist diesem | ||
+ | Server die Zugriffsberechtigung mittels Firewallregeln auf allen(!) Clusterknoten | ||
+ | zu erteilen. | ||
+ | |||
+ | Beispiel für manuelles, nachträgliches EInfügen: | ||
+ | < | ||
+ | iptables -I INPUT < | ||
+ | iptables -I INPUT < | ||
</ | </ | ||
Zeile 301: | Zeile 363: | ||
Cluster. Unter Debian Jessie funktioniert '' | Cluster. Unter Debian Jessie funktioniert '' | ||
Um Zugriff auf die Geo-Funktionen zu erhalten, sollte eine aktuelle | Um Zugriff auf die Geo-Funktionen zu erhalten, sollte eine aktuelle | ||
- | Version, wie z.B. 1.1.1 installiert werden. | + | Version, wie z.B. 1.1.1 installiert werden. Dieses kann z.B. über PEAR |
+ | (siehe http:// | ||
Beispiel | Beispiel | ||
Zeile 308: | Zeile 371: | ||
Predis\Autoloader:: | Predis\Autoloader:: | ||
- | $parameters = [' | + | $parameters = [' |
$options = [' | $options = [' | ||