centOS 安装 redis + 主从配置 + 哨兵模式

准备工作

  • redis
  • gcc
  • 主从配置规划
ip 角色
192.198.75.136 master
192.168.75.137 slave
192.168.75.138 slave

开始部署

  • 官网下载redis源码
  • 解压redis安装包,进入目录
tar -zxvf redis-5.0.8
cd redis-5.0.8
  • 编译安装到指定位置
# 如果安装失败,选择root用户重试
make PREFIX=/opt/module/redis-5.0.8 install
  • 复制配置文件到安装目录
# redis配置文件
cp redis.conf /opt/module/redis-5.0.8/
# 哨兵模式配置文件
cp sentinel.conf /opt/module/redis-5.0.8/

启动redis

./redis-server

常用配置项

配置项 默认值 描述
daemonize no 使用 yes 启用守护进程
pidfile /var/run/redis_6379.pid 守护进程方式启动时,pid写入的文件
bind 127.0.0.1 绑定的主机地址,不设置则允许所有连接
port 6379 端口号
logfile 守护进程方式启动时,日志保存的目录,默认为标准输出
loglevel notice 日志等级,可能的值 debug verbose notice warning
save 900 1 , 300 10 , 60 10000 指定在多长时间内,有多少次更新操作,就将数据同步到数据文件
dbfilename dump.rdb RDB文件名称
dir ./ AOF、RDB文件保存目录
rdbcompression yes RDB存储时,是否压缩数据
stop-writes-on-bgsave-error yes 生成RDB文件出错时,是否停止redis写命令
rdbchecksum yes 是否校验RDB文件
appendonly no 是否在每次更新操作后进行日志记录,可以理解为打开AOF功能
appendfilename appendonly.aof AOF文件名
appendfsync everysec 同步频率,可能的值 always everysec no ,alway:sredis执行每个写命令时,都同步写入硬盘,everysec :每秒执行一次 , no :让操作系统来决定何时进行同步
auto-aof-rewrite-percentage 100 当AOF文件以指定的百分比增加时,自动重写AOF文件,指定0,禁用自动重写
auto-aof-rewrite-min-size 64MB 和auto-aof-rewrite-percentage配合使用
no-appendfsync-on-rewrite no AOF自动重写时,阻塞主进程
timeout 0 当客户端闲置多长秒后关闭连接,如果指定为 0 ,表示关闭该功能
maxclients 同一时间最大客户端连接数
protected-mode yes 安全模式 启动条件有2个, bind没有绑定ip地址 , 没有设置登录密码

主从配置

由于redis3.2版本增加了安全模式,所以我们需要设置登录密码,或者直接关闭安全模式(不推荐)

# 关闭安全模式
protected-mode no

ps:关闭后无需下列配置

  • master 配置文件修改如下
bind 192.168.75.136
# 设置登录密码
requirepass admin123456
  • salve 配置文件修改如下
# 192.168.75.137的配置文件
bind 192.168.75.137
# 设置master的登录密码
masterauth admin123456
# 指定master的地址端口
slaveof 192.168.75.136 6379

# 192.168.75.138的配置文件
bind 192.168.75.138
# 设置master的登录密码
masterauth admin123456
# 指定master的地址端口
slaveof 192.168.75.136 6379
  • 配置完成后依次启动服务
  • 登录客户端查看配置是否成功
# 如果配置了密码,先执行鉴权命令,否则跳过
auth admin123456
# 查看节点信息
info replication

centOS 安装 redis + 主从配置 + 哨兵模式_第1张图片
centOS 安装 redis + 主从配置 + 哨兵模式_第2张图片

  • 手动故障转移
# 模拟主节点故障
kill -9 14898

# 设置192.168.75.137为主节点
bin/redis-cli -h 192.168.75.137 -p 6379 slaveof no one

#192.168.75.138配置重新连接到新的master
slaveof 192.168.75.137 6379
  • 自动故障转移(哨兵模式)
    修改配置文件sentinel.conf
配置项 默认值 描述
daemonize no 使用 yes 启用守护进程
port 26379 端口号
pidfile /var/run/redis-sentinel.pid pid文件位置
logfile 日志文件位置
dir /tmp 缓存文件目录
sentinel monitor mymaster 127.0.0.1 6379 2 mymaster :名字自定义, ip:主节点所在ip ,port:主节点所在端口 , 1 代表当一个哨兵认为不可用时,就执行故障转移,可以配置多个哨兵
sentinel auth-pass 安全模式下需要使用的登录密码 master-name 等于sentinel monitor参数定义的名字
  • 启动哨兵
bin/redis-sentinel sentinel.conf

启动后常见的警告

  • 没有指定配置文件
    在这里插入图片描述
    解决方法:启动时,指定配置文件
./redis-server redis.conf

你可能感兴趣的:(数据库,redis)