Redis部署Sentinel哨兵模式集群

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哨兵模式集群

精彩评论

2+1=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏