• Redis w CentOS 7

    dodany przez Przemysław Sikora

    Redis to doskonałe narzędzie służące do magazynowania danych. Możemy je wykorzystać po prostu jako bazę danych lub np. cache aplikacji, czy broker wiadomości np. w połączeniu z Logstashem i Elasticsearchem. Przystępujemy do instalacji. Musimy mieć skonfigurowane repozytorium EPEL. W omawianym przykładzie zakładamy sytuację z dwoma nodami. Na każdym z nich wydajemy poniższą komendę:

    yum install redis

    Następnie przystępujemy do konfiguracji, edytując odpowiedni plik

    vim /etc/redis.conf

    Ustawiamy:
    bind nasze_ip_prywatne -> ustawiamy aby redis nasłuchiwał tylko na naszym prywatnym adresie IP. Nie zalecane jest wystawianie takich usług na świat.
    port 6379 -> wartość domyślna określająca na którym porcie nasłuchuje usługa
    dir /var/lib/redis -> określamy położenie w którym przechowywane będę pliki redisa, m.in zrzuty pamięci
    requirepass tajnehaslo -> zabezpieczamy dostęp do naszego redisa. Aby nasza usługa działała prawidłowo, niezbędne jest jeszcze kilka zmian w konfiguracji systemu, m.in.
    Dodajemy do pliku „/etc/sysctl.conf”
    vm.overcommit_memory = 1
    a także np. do „/etc/rc.local” (pamiętając, aby wspomniany plik był wykonywalny)
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    Restartujemy Redia, a najlepiej cały serwer

    systemctl restart redis

    lub

    reboot

    Na drugiej maszynie tj. slave ustawiamy dodatkowo (oprócz requirepass)
    slaveof 10.2.0.244 6379 -> ustawiamy adres IP i port serwera master
    masterauth tajnehaslo -> taki sam kod jak ustawialiśmy na maszynie master
    Restartujemy Redia

    systemctl restart redis

    Otwieramy logi na serwerze slave tj.

    tail -f /var/log/redis/redis.log

    i jak widzimy
    22292:S 28 Feb 22:09:05.628 * Connecting to MASTER 10.2.0.244:6379
    22292:S 28 Feb 22:09:05.629 * MASTER <-> SLAVE sync started
    22292:S 28 Feb 22:09:05.629 * Non blocking connect for SYNC fired the event.
    22292:S 28 Feb 22:09:05.629 * Master replied to PING, replication can continue...
    22292:S 28 Feb 22:09:05.630 * Partial resynchronization not possible (no cached master)
    22292:S 28 Feb 22:09:05.632 * Full resync from master: 5c197f66706ba201e4031ebc46b7f9c6becb90d1:1
    22292:S 28 Feb 22:09:05.719 * MASTER <-> SLAVE sync: receiving 77 bytes from master
    22292:S 28 Feb 22:09:05.719 * MASTER <-> SLAVE sync: Flushing old data
    22292:S 28 Feb 22:09:05.719 * MASTER <-> SLAVE sync: Loading DB in memory
    22292:S 28 Feb 22:09:05.719 * MASTER <-> SLAVE sync: Finished with success

    To pełen sukces, mamy Redisa w modelu master-slave.

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony