Redis是一个开源的使用ANSI/C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
redis的多机数据库实现方案有三种:
- Redis哨兵(Sentinel)
- Redis复制(主从)
- Redis集群
本文讲述哨兵模式的部署方法。
系统环境
主机IP | 用途 |
10.10.200.201 | master |
10.10.200.202 | slave |
10.10.200.203 | slave |
安装redis
点击此处访问Redis官方网站。
# 安装依赖 yum install gcc-c++ tcl cd /opt wget https://download.redis.io/releases/redis-6.2.1.tar.gz tar zxvf redis-6.2.1.tar.gz cd redis-6.2.1 # 不能直接make,否则会报“致命错误:jemalloc/jemalloc.h:没有那个文件或目录” make MALLOC=libc make install
配置redis
0x01 配置master
redis
mv redis.conf redis.conf.bak egrep -v "^$|^#" redis.conf.bak > redis.conf
修改或增加redis.conf配置,根据实际情况进行调整:
# 修改绑定方式 bind 0.0.0.0 # 禁用保护模式 protected-mode no # 允许后台运行 daemonize yes
sentinel
mv sentinel.conf sentinel.conf.bak egrep -v "^$|^#" sentinel.conf.bak > sentinel.conf
修改或增加sentinel.conf配置,根据实际情况进行调整:
# 绑定本机IP bind 10.10.200.201 # 允许后台运行 daemonize yes # 指定master sentinel monitor mymaster 10.10.200.201 6379 2 # 指定认证密码(可以不配) sentinel auth-pass mymaster lzl123
0x02 配置slave
redis
mv redis.conf redis.conf.bak egrep -v "^$|^#" redis.conf.bak > redis.conf
修改或增加redis.conf配置,根据实际情况进行调整:
# 修改绑定方式 bind 0.0.0.0 # 禁用保护模式 protected-mode no # 指定master slaveof 10.10.200.201 6379 # 配置认证密码(如果master需要认证) masterauth lzl123 # 允许后台运行 daemonize yes
sentinel
mv sentinel.conf sentinel.conf.bak egrep -v "^$|^#" sentinel.conf.bak > sentinel.conf
修改或增加sentinel.conf配置,根据实际情况进行调整:
# 绑定本机IP bind 10.10.200.202 # 另外一台slave # bind 10.10.200.203 # 允许后台运行 daemonize yes # 指定master sentinel monitor mymaster 10.10.200.201 6379 2 # 指定认证密码(可以不配) sentinel auth-pass mymaster lzl123
0x03 启动服务
在各主机启动redis和sentinel:
redis-server redis.conf redis-sentinel sentinel.conf
0x04 补充说明
若使用redis-trib命令,需要安装ruby,具体方法可参照Redis部署cluster集群模式及常规命令。
原创文章禁止转载:技术学堂 » Redis部署Sentinel哨兵模式集群