天天看點

redis 主從哨兵模式(一主二從)

redis 主從哨兵模式(一主二從)

一、環境

作業系統:centos7.6

redis版本:6.2.5

ssh工具:xshell和xftp

二、安裝

三台伺服器使用相同的方式安裝redis
  • 把redis-6.2.5.tar.gz檔案上傳到服務的/usr/local/src/tools目錄中
#> tar -xvf redis-6.2.5.tar.gz
           
  • 将解壓後的檔案移動到/usr/local目錄下,并重命名redis
#> mv redis-6.2.5 /usr/local/redis
#> cd /usr/local/redis
           
  • 編譯和安裝
#> make
……
redis-6.2.5/deps/lua/test/fibfor.lua
redis-6.2.5/deps/lua/test/globals.lua
redis-6.2.5/deps/lua/test/hello.lua
redis-6.2.5/deps/lua/test/life.lua
redis-6.2.5/deps/lua/test/luac.lua
redis-6.2.5/deps/lua/test/printf.lua
redis-6.2.5/deps/lua/test/readonly.lua
redis-6.2.5/deps/lua/test/sieve.lua
redis-6.2.5/deps/lua/test/sort.lua
redis-6.2.5/deps/lua/test/table.lua
redis-6.2.5/deps/lua/test/trace-calls.lua
redis-6.2.5/deps/lua/test/trace-globals.lua
redis-6.2.5/deps/lua/test/xd.lua
redis-6.2.5/deps/update-jemalloc.sh
……
……
……
    INSTALL redis-sentinel
    CC redis-cli.o
    CC cli_common.o
    LINK redis-cli
    CC redis-benchmark.o
    LINK redis-benchmark
    INSTALL redis-check-rdb
    INSTALL redis-check-aof

Hint: It's a good idea to run 'make test' ;)

make[1]: Leaving directory `/usr/local/redis/src'
#> cd src/
#> make install
    CC Makefile.dep
Hint: It's a good idea to run 'make test' ;)
    INSTALL redis-server
    INSTALL redis-benchmark
    INSTALL redis-cli
           

三、配置

配置redis.config檔案
#> vim redis.conf
# 配置bind
bind 0.0.0.0
# 配置protected-mode
protected-mode no
# 配置daemonize
daemonize yes
# 配置logfile
logfile "/usr/local/redis/logs/redis.log"
# 配置從伺服器對應的主伺服器(隻有從伺服器配置)
replicaof 192.168.229.131 6379
# 配置masterauth
masterauth jwssw
#配置requirepass
requirepass jwssw
           
  • 通過用戶端進入redis中檢視主從配置資訊
#> ./src/redis-cli -a root
# 127.0.0.0:6379> info replication
role:master
connected_slaves:2
slave0:ip=192.168.229.132,port=6379,state=online,offset=1272,lag=0
slave1:ip=192.168.229.130,port=6379,state=online,offset=1272,lag=0
master_failover_state:no-failover
master_replid:e887e19ac3142730d8a39ee66ce7124c6ccfb31d
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1272
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1272
           

從上role和connected_slaves兩屬性可以看出來,主從複制模式搭建成功

配置sentinel.config檔案
#> vim sentinel
#配置daemonize
daemonize yes
#配置logfile
logfile "/usr/local/redis/logs/sentinel.log"
#配置sentinel monitor
sentinel monitor mymaster 192.168.229.131 6379 2
#配置sentinel auth-pass
sentinel auth-pass mymaster jwssw
#配置requirepass
requirepass jwssw

# 啟動哨兵
#> ./src/redis-sentinel sentinel.conf
# 檢視哨兵日志
#> tail -f logs/sentinel.log

           

繼續閱讀