redis之sentinel集群部署
一、环境说明:
1、操作系统:CentOS Linux release 7.3.1611
2、redis版本:redis-4.0.6
3、服务器共3台:
192.168.10.91
192.168.10.92
192.168.10.93
二、安装redis(3台服务器都需要安装)
1、下载redis源码包:
wget http://download.redis.io/releases/redis-4.0.6.tar.gz
2、解压源码包:
tar zxvf redis-4.0.6.tar.gz
3、编译安装:
make
make PREFIX=/app/redis install
mkdir /app/redis/conf
mkdir /app/redis/dump
4、将redis安装包的配置模板文件拷贝到redis安装目录:
cp /usr/local/src/redis-4.0.6/redis.conf sentinel.conf /app/redis/conf
5、修改配置(redis.conf):
bind 127.0.0.1 改为: bind 0.0.0.0 --修改服务的开放的网段
daemonize no 改为: daemonize yes --修改服务在后台运行
dir ./ 改为: dir /app/redis/dump --修改rdb文件的备份目录
6、启动redis,并验证安装是否OK
/app/redis/bin/redis-server /app/redis/conf/redis.conf
/app/redis/bin/redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"
三、集群部署
1、主从复制部署
注:初选192.168.10.91为主,192.168.10.92及192.168.10.93为从
1.1、复制选项配置(在从库上操作)
添加选项(redis.conf):
slaveof 192.168.10.91 6379
1.2、重启redis服务,使配置生效
/app/redis/bin/redis-cli
127.0.0.1:6379> shutdown
not connected> exit
/app/redis/bin/redis-server /app/redis/conf/redis.conf
1.3、验证同步是否OK
在主库上生成数据,看从库上是否有相应数据同步生成
主库命令:
/app/redis/bin/redis-cli
127.0.0.1:6379> set name wade_cheung
OK
从库命令:
/app/redis/bin/redis-cli
127.0.0.1:6379> get name
"wade_cheung"
2、sentinel部署
2.1、sentinel选项配置(sentinel.conf)
添加配置项:
bind 0.0.0.0 --服务绑定的网段
sentinel announce-ip 192.168.10.91
sentinel monitor mymaster 127.0.0.1 6379 2 改为: sentinel monitor mymaster 192.168.10.91 6379 2 --sentinel监控的redis主库服务,并配置实施failover的投票数
2.2、关闭主库,验证从库是否能切换为新的主库
主库关闭服务:
/app/redis/bin/redis-cli
127.0.0.1:6379> shutdown
在从库查看是否切换为新主库:
/app/redis/bin/redis-cli
127.0.0.1:6379> info Replication
附:sentinel切换日志: