redis 4.0 一主多從 哨兵集羣搭建

1.準備工作:

操作系統:centos 7 minal x86_64 

ip地址:192.168.30.59

redis 4.0:http://download.redis.io/releases/redis-4.0.11.tar.gz

安裝編譯工具:yum install gcc make tcl -y

2.編譯安裝:

make && make test

make install

3.配置主從集羣:

mkidr /opt/{7001..7003}

#主配置文件:7001.conf
grep -Ev '^$|^#' 7001/7001.conf

bind 0.0.0.0
protected-mode no
port 7001
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile "/opt/7001/redis_7001.pid"
loglevel notice
logfile "/opt/7001/redis_7001.log"
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.rdb"
dir "/root"
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
requirepass "123456"
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
slave-lazy-flush no
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble no
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes


#從配置文件7002.conf 7003類似
grep -Ev '^$|^#' 7002/7002.conf

bind 0.0.0.0
protected-mode no
port 7002
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile "/opt/7002/redis_7002.pid"
loglevel notice
logfile "/opt/7002/redis_7002.log"
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.rdb"
dir "/opt/7001"
slaveof 192.168.30.59 7001
masterauth "123456"
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
requirepass "123456"
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
slave-lazy-flush no
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble no
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

分別啓動redis服務,並測試檢查:

redis-server /opt/7001/7001.conf

redis-server /opt/7002/7002.conf

redis-server /opt/7003/7003.conf

登陸查看集羣信息:

redis-cli -p 7001

info replication

set aa 123

set name "123"

get aa

get name

keys *

其他類似

測試沒得問題 主從集羣就搭建成功

 

4.搭建哨兵模式

第一種:單個哨兵:

protected-mode no
daemonize yes
logfile "/opt/7001/sentinel_7001.log"
port 26380
dir "/tmp"
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 192.168.30.59 7001 1
sentinel auth-pass mymaster 123456
sentinel config-epoch mymaster 1
sentinel leader-epoch mymaster 1

啓動哨兵進行測試:

redis-sentinel /opt/7001/sentinel_7001.conf

將7001shutdown然後查看哨兵日誌變化

自動將從節點切換爲主節點,且7001重啓動後自動切換成從節點

說明哨兵生效

第二種:多個哨兵

sentinel monitor mymaster 192.168.30.59 7001 2

測試同上

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章