#所有机器安装redis
[root@C17 ~]# yum -y install gcc jemalloc-devel
[root@C17 ~]# wget http://download.redis.io/releases/redis-5.0.7.tar.gz
[root@C17 ~]# tar xvf redis-5.0.7.tar.gz
[root@C17 ~]# cd redis-5.0.7/
[root@C17 redis-5.0.7]# make -j && make install
[root@localhost redis-5.0.7]# ./utils/install_server.sh #初始化配置,一直回车或者输入其他路径
[root@localhost redis-5.0.7]# pkill redis-server
#所有机器修改配置文件
vim /etc/redis/6379.conf
#修改
bind 0.0.0.0
masterauth "123456"
requirepass "123456"
#两个从节点
echo "replicaof 10.0.0.8 6379" >> /etc/redis/6379.conf
#所有节点启动redis
systemctl start redis_6379.service
#两个从节点配置主从
redis-cli -a 123456
127.0.0.1:6379> REPLICAOF 172.16.1.17 6379
OK
127.0.0.1:6379> CONFIG SET masterauth '123456'
OK
127.0.0.1:6379> info
.....
# Replication
role:slave
master_host:172.16.1.17
master_port:6379
master_link_status:up
....
#所有机器编辑哨兵的配置文件
cp /root/redis-5.0.7/sentinel.conf /etc/redis/
vim /etc/redis/sentinel.conf
bind 0.0.0.0
daemonize yes
/var/log/redis/sentinel_26379.log
#指定当前mymaster集群中master服务器的地址和
端口, 2一般设置为所有sentinel节点的一半以上数值
sentinel monitor mymaster 172.16.1.17 6379 2
#mymaster集群中master的密码,注意此行要在上面行的下
面
sentinel auth-pass mymaster 123456
#(SDOWN)判断mymaster集群中所有节点
的主观下线的时间,单位:毫秒,默认30s
sentinel down-after-milliseconds mymaster 3000
#所有机器启动哨兵
mkdir /var/log/redis
redis-sentinel /etc/redis/sentinel.conf
[root@C17 ~]# ss -lnt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:26379 *:*
LISTEN 0 128 *:6379 *:*
#在主节点停掉redis
[root@C17 ~]# systemctl stop redis_6379.service
[root@C27 ~]#vim /var/log/redis/sentinel_26379.log
#在C17重新启动redis,会自动加入新主,成为从节点
[root@C17 ~]# systemctl start redis_6379