redis哨兵模式搭建
-
Redis服务器说明:
- 主:192.168.117.94
- 从:192.168.117.95,192.168.117.19
- 端口:6879,6878(哨兵端口)
- 密码:123456
- 只有主节点可写入,从节点只能拷贝
-
下载安装包:https://pan.baidu.com/s/13ZXoOB6yCZsKUPZp2OrHEA,提取密码:7oai
-
升级gcc:如果是安装redis6.x以上版本,则需要升级gcc,因为centos的gcc默认版本是4.8.5,升级gcc需要逐行执行以下命令:
gcc -v # 查看gcc版本 yum -y install centos-release-scl yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils scl enable devtoolset-9 bash echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile --使永久生效 yum install tcl -y
-
解压安装包:
tar -xf /opt/module/redis-6.0.8.tar.gz && rm -rf /opt/module/redis-6.0.8.tar.gz
-
创建软连接:
ln -s /opt/module/redis-6.0.8 redis-server
-
编译安装:
cd /opt/module/redis-server/src && make install
-
修改配置文件:
vi /opt/module/redis-server/redis.conf
(底部追加,详情可查看:https://www.cnblogs.com/pqchao/p/6558688.html)port 6379 # 网卡绑定,设置绑定任意网卡 bind 0.0.0.0 # 保护模式关闭,允许非本地客户端连接 protected-mode yes # 设置密码 requirepass 123456 # 后台守护进程方式运行 daemonize yes # pid文件路径 pidfile /opt/module/redis-server/run/redis_6379.pid # 日志文件 logfile /opt/module/redis-server/redis_6379.log # 设置主节点密码(供哨兵使用) masterauth 123456 # 从节点打开,设置主节点 #slaveof 192.168.117.94 6379
-
启动redis:
/opt/module/redis-server/src/redis-server /opt/module/redis-server/redis.conf
-
查看节点信息:
/opt/module/redis-server/src/redis-cli -p 6379 -a 123456 info replication
-
关闭redis:
/opt/module/redis-server/src/redis-cli -p 6379 -a 123456 shutdown
-
哨兵模式介绍
- 多哨兵作用:主从模式时,如果主宕机则需要手动将从切换为主,而哨兵模式可以通过投票机制自动将Slave切换成Master,然后通过发布订阅模式通知其它的从服务器,修改配置文件,让它们切换主机
- 多哨兵模式:多个哨兵之间形成相互监控
-
哨兵配置:vi /opt/module/redis-server/sentinel.conf(覆盖)
port 6378 # 后台启动 daemonize yes dir /tmp # 配置至少2个哨兵认为主宕机了,才开始投票 sentinel monitor mymaster 192.168.117.94 6379 2 # 配置主节点密码 sentinel auth-pass mymaster 123456 # 配置主下线时间,默认30秒,主节点30秒内没有应答哨兵,则哨兵认为主宕机 sentinel down-after-milliseconds mymaster 5000 # 主从切换时,多少个从对新主进行同步,这个值越大,同步时间越短,但是在同步中的从不能提供服务 sentinel parallel-syncs mymaster 1 # 关闭保护模式,默认开启,只能根据配置的bind地址和密码进行访问 protected-mode no pidfile /opt/module/redis-server/run/sentinel.pid logfile /opt/module/redis-server/sentinel.log
-
启动哨兵:
/opt/module/redis-server/src/redis-sentinel /opt/module/redis-server/sentinel.conf
-
查看哨兵状态:
/opt/module/redis-server/src/redis-cli -p 6378 info sentinel