Centos7 安装redis主从及配置哨兵模式

ip

10.6.11.164   主

10.6.11.189   从

10.6.11.201   从

 

安装redis

安装依赖

yum install gcc gcc-c++ -y

 

下载redis-4.0.11.tar.gz <http://download.redis.io/releases/redis-4.0.11.tar.gz>

cd /usr/local

wget http://download.redis.io/releases/redis-4.0.11.tar.gz
<http://download.redis.io/releases/redis-4.0.11.tar.gz>

 

3台均按以下命令安装redis

cd /usr/local

tar zxvf redis.tar.gz

mv redis-4.0.11 redis

cd redis

make MALLOC=libc

make

make install

 

配置redis 主从

修改master 10.6.11.164的redis.conf


daemonize yes

pidfile "/var/run/redis.pid"

port 6379

tcp-backlog 511

timeout 0

tcp-keepalive 0

loglevel notice

logfile "/usr/local/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 "/usr/local/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

 

修改slave 10.6.11.189和10.6.11.201的/usr/local/redis/redis.conf


daemonize yes

pidfile "/var/run/redis.pid"

port 6379

tcp-backlog 511

timeout 0

tcp-keepalive 0

loglevel notice

logfile "/usr/local/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 "/usr/local/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 10.6.11.164 6379

 

依次启动redis

率先启动master redis  然后依次启动slave

/usr/local/redis/src/redis-server /usr/local/redis/redis.conf

 

可以在/usr/local/redis/redis.log 中 看到3台机子连接成功的信息



 

也可以在redis中 添加key   测试是否会同步

在10.6.11.164上执行如下命令



 

 

 

 

在slave机子上执行如下操作,会看到slave 上有和master 一样的key 名,value也一致



 

配置sentinel 哨兵

配置主master的/usr/local/redis/sentinel.conf


protected-mode no

sentinel deny-scripts-reconfig yes

sentinel monitor mymaster 10.6.11.164 6379 2

sentinel down-after-milliseconds mymaster 5000

sentinel failover-timeout mymaster 15000

sentinel auth-pass mymaster Hangzhou@123

# Generated by CONFIG REWRITE

port 26379

dir "/usr/local/redis"

sentinel config-epoch mymaster 1

sentinel leader-epoch mymaster 1

sentinel known-slave mymaster 10.6.11.189 6379

sentinel known-slave mymaster 10.6.11.201 6379

sentinel current-epoch 1

sentinel announce-ip "10.6.11.164"

 

配置从slave的/usr/local/redis/sentinel.conf


protected-mode no

sentinel myid 3750d9547cf4e99c142984032492d43908ed8790 #自动生成的pid文件 请根据实际情况填写

sentinel deny-scripts-reconfig yes

sentinel monitor mymaster 10.6.11.164 6379 2

sentinel down-after-milliseconds mymaster 5000

sentinel failover-timeout mymaster 15000

sentinel auth-pass mymaster Hangzhou@123

# Generated by CONFIG REWRITE

port 26379

dir "/usr/local/redis"

sentinel config-epoch mymaster 1

sentinel leader-epoch mymaster 1

sentinel known-slave mymaster 10.6.11.189 6379

sentinel known-slave mymaster 10.6.11.201 6379

sentinel current-epoch 1

sentinel announce-ip "10.6.11.164"

 

 

完成配置之后  依次启动哨兵sentinel

首先启动master  然后slave

/usr/local/redis/src/redis-sentinel /usr/local/redis/sentinel.conf &

 

 

启动完毕后可以用如下命令查看哨兵信息

redis-cli -p 26379 INFO Sentinel 



 

测试杀死master redis 进程



查看日志   master 重新选举10.6.11.189为新master



 

再次查看哨兵信息   master 已经变化



 

重新启动10.6.11.164的redis  查看信息

master 并没有变回去  依旧是189为master



 

 

同时redis.conf和sentinel.conf 也都发生了变化



 



 

 

至此 redis集群和哨兵均安装完毕

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信