redis 之 哨兵

 

 


#:编译安装redis4.0 [root@master ~]# tar xf redis-4.0.14.tar.gz [root@master ~]# cd redis-4.0.14/ [root@master redis-4.0.14]# make PREFIX=/apps/redis install #:创建redis用户 [root@master redis-4.0.14]# groupadd -g 55 redis && useradd -r -g redis -u 55 redis #:创建redis所需的目录 [root@master redis-4.0.14]# mkdir /apps/redis/{data,etc,logs,run} [root@master redis-4.0.14]# chown -R redis.redis /apps/redis/* #:创建环境变量软连接 [root@master redis-4.0.14]# ln -sv /apps/redis/bin/redis-* /usr/bin #:创建启动脚本 [root@master redis-4.0.14]# vim /usr/lib/systemd/system/redis.service [Unit] Description=Redis persistent key-value database After=network.target After=network-online.target Wants=network-online.target [Service] ExecStart=/apps/redis/bin/redis-server /apps/redis/etc/redis.conf --supervised systemd #ExecStop=/usr/libexec/redis-shutdown ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID Type=notify User=redis Group=redis RuntimeDirectory=redis RuntimeDirectoryMode=0755 [Install] WantedBy=multi-user.target #:准备redis配置文件 [root@master redis-4.0.14]# cp redis.conf /apps/redis/etc/ #:修改配置文件 [root@master etc]# vim /apps/redis/etc/redis.conf bind 0.0.0.0 pidfile /apps/redis/run/redis_6379.pid logfile "/apps/redis/logs/redis_6379.log" stop-writes-on-bgsave-error no dir "/apps/redis/data/" masterauth 123456 requirepass 123456 appendonly yes #:将redis目录打包,拷贝给各节点 [root@master apps]# tar zcvf redis.tar.gz ./* [root@master apps]# scp redis.tar.gz 192.168.7.105:/apps/ [root@master apps]# scp redis.tar.gz 192.168.7.106:/apps/ #; 将启动脚本也拷贝过去 [root@master apps]# scp /usr/lib/systemd/system/redis.service 192.168.7.105:/usr/lib/systemd/system/ [root@master apps]# scp /usr/lib/systemd/system/redis.service 192.168.7.106:/usr/lib/systemd/system/

 

将剩下两个节点配置成从节点

  

#:先解压文件

[root@slave ~]# cd /apps/
[root@slave apps]# tar xf redis.tar.gz 
[root@slave apps]# cd redis/

#:修改配置文件,配置成从节点

[root@slave redis]# vim etc/redis.conf
slaveof 192.168.7.101 6379
masterauth "123456"


#:创建redis用户


[root@slave redis]# groupadd -g 55 redis && useradd -g redis -u 55 redis

#:启动服务

[root@slave redis]# systemctl start redis

#:检测

[root@slave redis]# redis-cli 
127.0.0.1:6379> AUTH 123456 

# Replication
role:slave
master_host:192.168.7.101
master_port:6379
master_link_status:up

#:106 同样这样配置一下

 

在每个节点布置哨兵

#:准备哨兵配置文件

[root@master apps]# cd ~/redis-4.0.14/
[root@master redis-4.0.14]# cp sentinel.conf /apps/redis/etc/

#:修改属主属组

[root@master redis-4.0.14]# chown -R redis.redis /apps/redis/*

#;修改配置文件

[root@master redis-4.0.14]# vim /apps/redis/etc/sentinel.conf
bind 0.0.0.0
dir "/apps/redis/"
sentinel monitor mymaster 192.168.7.101 6379 2  #:最少写全部集群一半的数量

sentinel auth-pass mymaster 123456
sentinel deny-scripts-reconfig yes
daemonize yes
pidfile "/apps/redis/run/redis-sentinel.pid"
logfile "/apps/redis/logs/sentinel_26379.log"


#:将配置文件拷贝到各节点


[root@master redis]# scp  etc/sentinel.conf 192.168.7.105:/apps/redis/etc/
[root@master redis]# scp etc/sentinel.conf 192.168.7.106:/apps/redis/etc/

#:开始启动哨兵(选启动主的,紧接着启动从的)

[root@master etc]# /apps/redis/bin/redis-sentinel /apps/redis/etc/sentinel.conf



#:停掉master 测试


#:如果主节点重新上线,记得要改下配置文件,配置成从服务器在上限

 

posted @ 2019-09-08 11:37  Linus小跟班  阅读(150)  评论(0编辑  收藏  举报