Wiki - Freifunk Pinneberg

Freies WLAN im Kreis Pinneberg

Benutzer-Werkzeuge

Webseiten-Werkzeuge


redis

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
redis [11.01.2017 21:50] – [Cluster-Konfiguration] havelockredis [17.07.2021 14:15] – [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://redis.io/download/,  Der Download der Quellen befindet sich unter: http://redis.io/download/, 
Zeile 18: Zeile 20:
  
 Benötigte Pakete: Benötigte Pakete:
-  aptitude install ruby libjemalloc1 php5-redis python-redis+  aptitude install ruby libjemalloc1 php-redis python-redis
  
 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 /etc/sysctl.conf> <file conf /etc/sysctl.conf>
-vm_overcommit_memory=1+vm.overcommit_memory=1
 </file> </file>
  
Zeile 93: Zeile 95:
 Die folgenden Konfiguratonsbeispiele beziehen sich auf ''gate01'', Bei den anderen Servern ist einfach eine andere IP-Adresse zu verwenden. Die folgenden Konfiguratonsbeispiele beziehen sich auf ''gate01'', Bei den anderen Servern ist einfach eine andere IP-Adresse zu verwenden.
  
-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
 +  * ''logfile'' ist bewußt leer. Falls es einmal Probleme gibt, kann dort z.B. ''/var/log/redis/master.log'' eingetragen werden um Debuginformationen zu erhalten.
  
 Konfigurationsdatei für den Master Konfigurationsdatei für den Master
Zeile 202: Zeile 206:
 </file> </file>
  
-Cluster initialisieren:+==== Cluster initialisieren ==== 
   * Auf allen beteiligten Servern:<code>   * Auf allen beteiligten Servern:<code>
 /etc/init.d/redis-cluster start /etc/init.d/redis-cluster start
Zeile 226: 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 
-FehlerhaftInsbesondere die korrekte Slave-Konfiguration ist  +ggffehlerhaft. 
-noch nicht klar.+Beim Slave ist die erste Adresse/Port die lokale Instanz und die  
 +Zweite der zu verwendende Master 
   - Knoten aufsetzen<code>   - Knoten aufsetzen<code>
 ./src/redis-trib.rb add-node 10.137.12.1:7000 ./src/redis-trib.rb add-node 10.137.12.1:7000
-./src/redis-trib.rb add-node --slave 10.137.12.1:7001+./src/redis-trib.rb add-node --slave 10.137.12.1:7001 10.137.10.1:7000
 </code> </code>
-  - Stlot neu aufteilen<code>+  - Slot neu aufteilen<code>
 ./src/redis-trib.rb reshard ... ./src/redis-trib.rb reshard ...
 </code> </code>
Zeile 240: Zeile 246:
   * ''cluster nodes''   * ''cluster nodes''
   * ''cluster info''   * ''cluster info''
-  * ''cluster failover'' -- Master/Slave tauschen+  * ''cluster failover'' -- Master/Slave tauschen, Befehl auf einem Slave eingeben 
 + 
 +  * ''info server'' -- allg Info zum aktuellen Server 
 +  * ''info replication'' 
 +  * ''info cluster''
  
 ===== Update ===== ===== Update =====
Zeile 255: Zeile 265:
 make install make install
 gem install redis gem install redis
 +/etc/init.d/redis-cluster restart
 +</code>
 +
 +===== Ruby Gems =====
 +
 +Wenn man ''gem install redis'' mehrfach durchgeführt hat, sind nach einiger Zeit unterschiedliche Versionen installiert. Man kann sich das anzeigen lassen:
 +<code>
 +gem list redis
 +</code>
 +Eine alte Version kann gezielt entfernt werden
 +<code>
 +gem uninstall redis --version 3.2.2
 +</code>
 +Ebenso kann man sich eine spezielle Version installieren:
 +<code>
 +gem install redis --version 3.3.5
 +</code>
 +Eine Übersicht über die verfügbaren Versionen kann man erhalten mit:
 +<code>
 +gem list ^redis$ --remote --all
 +</code>
 +
 +====== 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:
 +<code>
 +iptables -I INPUT <pos1> -s <serverip>/32 -p tcp -m tcp --dport 7000 -j ACCEPT
 +iptables -I INPUT <pos2> -s <serverip>/32 -p tcp -m tcp --dport 7001 -j ACCEPT
 </code> </code>
  
redis.txt · Zuletzt geändert: 17.07.2021 14:27 von havelock