redis一主两从三哨兵:
-
yum -y install gcc gcc-c++
-
tar -zxvf redis-5.0.5.tar.gz
3.cd redis
make MALLOC=libc
make
make install
4.修改master redis.conf:
daemonize yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 0
loglevel notice
logfile “/root/redis/redis.log”
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename “dump.rdb”
dir “/home/data/redis”
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 “Hangzhou@123”
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
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-entries 512
list-max-ziplist-value 64
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
masterauth “Hangzhou@123”
protected-mode yes
5.修改slave redis.conf:
daemonize yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 0
loglevel notice
logfile “/root/redis/redis.log”
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename “dump.rdb”
dir “/home/data/redis”
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 “Hangzhou@123”
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
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-entries 512
list-max-ziplist-value 64
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
masterauth “Hangzhou@123”
protected-mode yes
slaveof 172.20.19.49 6379
- vim /etc/sysctl.conf
vm.overcommit_memory = 1
sysctl –p
- ./redis-cli shutdown ./redis-server /root/redis.conf
8.配置master 的/root/redis/sentinel.conf
protected-mode no
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 172.20.19.49 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 15000
sentinel auth-pass mymaster Hangzhou@123
port 26379
dir “/usr/local/redis”
sentinel config-epoch mymaster 1
sentinel leader-epoch mymaster 1
sentinel known-slave mymaster 172.20.19.98 6379
sentinel current-epoch 1
sentinel announce-ip “172.20.19.49”
9.配置slave 的/root/redis/sentinel.conf
protected-mode no
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 172.20.19.49 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 15000
sentinel auth-pass mymaster Hangzhou@123
port 26379
dir “/usr/local/redis”
sentinel config-epoch mymaster 1
sentinel leader-epoch mymaster 1
sentinel known-slave mymaster 172.20.19.98 6379
sentinel current-epoch 1
sentinel announce-ip “172.20.19.49”
10.依次启动哨兵(先主后从): ./redis-server /root/redis/sentinel.conf
11.测试主从切换pkill -9 redis