Redis 5.0.9配置主從復制


1、准備工作

  准備兩台以上已經安裝Redis的服務器,這里以兩台安裝了Redis5.0.9的Centos 7 為例子

  Redis安裝:https://www.cnblogs.com/chenppp/p/13437212.html

  主節點:192.168.199.50

  從節點:192.168.199.51

  Redis 提供了復制功能,將一個主數據庫的數據自動同步到從數據庫,防止數據丟失。
  同時還可以配置一主多從來分擔主壓力,主只接受寫的操作,將讀的操作給從來實現;其中從庫也可以接受其它從庫的同步請求。
  如果主、從因為網絡原因出現連接斷開,網絡正常后從可以自動連接主,連接成功后主會將完整的數據同步一次給從,保證數據一致性。

  主從復制的原理過程:

    1、從節點啟動后,會連接到主節點,從節點發送 Ping 信號,主節點返回 Pong,兩邊能互相通信,建立連接

    2、建立連接后,從節點向主節點發送Psync信號,主節點接收信號后,全量同步數據給從節點

    3、接下來,主節點就會持續的把寫命令發送給從節點,保證主從數據一致性。

2、配置主從

  主節點配置:

bind 192.168.199.50    # 監聽地址
timeout 300         # 超時時間
daemonize yes        # 作為守護進程運行
pidfile /usr/local/redis/logs/redis_6379.pid    # 生成pid文件路徑,可使用默認路徑
logfile "/usr/local/redis/logs/redis.log"      # 生成的日志文件路徑
requirepass password        # Redis 認證密碼
repl-backlog-size 1mb      # 設置backlog緩沖區大小,在slave端失連時存放要同步到slave的數據,因此當一個slave要重連時,經常是不需要完全同步的,執行局部同步就足夠了。backlog設置的越大,slave可以失連的時間就越長
repl-timeout 180      # 快照同步的超時時間,同步時超過這個時間,會被認為同步失敗
client-output-buffer-limit slave 256mb 64mb 60    #
如果增量同步的緩存大於256MB,或者超過60s大於64MB,則觸發快照同步

  從節點配置

bind 192.168.199.50    # 監聽地址
timeout 300         # 超時時間
daemonize yes        # 作為守護進程運行
pidfile /usr/local/redis/logs/redis_6379.pid    # 生成pid文件路徑,可使用默認路徑
logfile "/usr/local/redis/logs/redis.log"      # 生成的日志文件路徑
requirepass password    # redis 認證 replicaof 92.168.199.50 6379    # 主節點ip和端口
masterauth password        # 主節點密碼
replica-read-only yes        # 從節點只讀

  啟動主、從節點

  主節點

 

  從節點

 

 

   登錄主節點redis,創建一個key

[root@swarm-node1 bin]# ./redis-cli -h 192.168.199.50 -p 6379
192.168.199.50:6379> AUTH password
OK
192.168.199.50:6379> set id redis
OK
192.168.199.50:6379> get id
"redis"
192.168.199.50:6379> 

  登錄從節點,查看數據是否有同步過來

[root@swarm-node2 bin]# ./redis-cli -h 192.168.199.51 -p 6379
192.168.199.51:6379> AUTH password
OK
192.168.199.51:6379> KEYS *
1) "id"
192.168.199.51:6379> GET id
"redis"
192.168.199.51:6379> 
192.168.199.51:6379> 

redis 主從復制配置完成


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM