Centos7下安装配置redis集群哨兵模式(简单明了)

Centos7下安装redis集群哨兵模式

整体哨兵模式规划

redis节点规划:6381 (master), 6382 (slave),6383(slave),6384(slave)
sentinel模式节点规划:26381,26382

redis安装教程

redis主从安装步骤

  1. 安装redis;
  2. 在 /usr/local/ 目录下创建 redis-sentinel 文件夹;
  3. 进入 /usr/local/redis-sentinel 目录下,创建文件夹; master-6381,slave-6382,slave-6383,slave-6384,sentinel-26381,sentinel-26382;
  4. 把 redis 安装目录下的 redis.conf 拷贝到目录 master-6381、slave-6382、slave-6383、slave-6384 下;
cp /usr/local/redis-4.0.6/redis.conf /usr/local/redis-sentinel/master-6381/
cp /usr/local/redis-4.0.6/redis.conf /usr/local/redis-sentinel/slave-6382/
cp /usr/local/redis-4.0.6/redis.conf /usr/local/redis-sentinel/slave-6383/
cp /usr/local/redis-4.0.6/redis.conf /usr/local/redis-sentinel/slave-6384/
  1. 把 redis 安装目录下 sentinel.conf 拷贝到 sentinel-26381,sentinel-26382 下;
cp /usr/local/redis-4.0.6/sentinel.conf /usr/local/redis-sentinel/sentinel-26381
cp /usr/local/redis-4.0.6/sentinel.conf /usr/local/redis-sentinel/sentinel-26382
  1. 修改 /usr/local/redis-sentinel/master-6381/ 目录下 redis.conf 配置文件(主服务器);
bind 192.168.1.62    //修改成自己的IP地址,这里我试过启动不起来,需要把这个bind注释掉,监听所有端口,还可以加上密码   requirepass 密码
port 6381    //主服务器的端口号
daemonize yes    //后台启动
pidfile /var/run/redis_6381.pid    // redis 后台启动的时候,会在/var/run/默认生成一个pid文件
protected-mode no     //保护模式关闭,否则启动哨兵的时候,无法正常运行(还可以设置密码的方式)
dir /usr/local/redis-sentinel/master-6381/data     //数据保存目录
logfile "6381.log"    //日志名字
dbfilename dump6381.rdb    //备份文件名字
  1. 修改 /usr/local/redis-sentinel/slave-6382/ 目录下 redis.conf 配置文件(从服务器);
bind 192.168.1.62    --修改成自己的IP地址,这里我试过启动不起来,需要把这个bind注释掉,监听所有端口,还可以加上密码   requirepass 密码
port 6382    --主服务器的端口号
daemonize yes    --后台启动
pidfile /var/run/redis-6382.pid    -- redis 后台启动的时候,会在/var/run/默认生成一个pid文件
protected-mode no    --保护模式关闭,否则启动哨兵的时候,无法正常运行(还可以设置密码的方式)
dir /usr/local/redis-sentinel/slave-6382/data     --数据保存目录
logfile "6381.log"    //日志名字
dbfilename dump6381.rdb    //备份文件名字
slaveof 192.168.1.62 6381    --主服务器的IP 主服务器端口号(这个需要添加)
  • 其他从服务器同上修改成自己的端口;
  • 记得在主从目录相应的位置创建data文件夹,否则启动时会报错找不到data文件夹;
  • 一定要打开这几个端口否则无法连接;
  1. 启动一主三从四个服务器;
/usr/local/redis-4.0.6/src/redis-server /usr/local/redis-sentinel/master-6381/redis.conf
/usr/local/redis-4.0.6/src/redis-server /usr/local/redis-sentinel/slave-6382/redis.conf
/usr/local/redis-4.0.6/src/redis-server /usr/local/redis-sentinel/slave-6383/redis.conf
/usr/local/redis-4.0.6/src/redis-server /usr/local/redis-sentinel/slave-6384/redis.conf

启动成功之后使用 ps -ef|grep redis 命令查看进程;

root     19253     1  0 22:52 ?        00:00:00 /usr/local/redis-4.0.6/bin/redis-server *:6382
root     19276     1  0 22:52 ?        00:00:00 /usr/local/redis-4.0.6/bin/redis-server *:6383
root     19298     1  0 22:52 ?        00:00:00 /usr/local/redis-4.0.6/bin/redis-server *:6384
root     19393     1  0 22:53 ?        00:00:00 /usr/local/redis-4.0.6/bin/redis-server *:6381
root     19415 14406  0 22:53 pts/0    00:00:00 grep --color=auto redis
  1. 使用命令 /usr/local/redis-4.0.6/bin/redis-cli -h ip -p 端口 进入 redis 使用 info查看是否配置好主从,可以看到有3个从;
# Replication
role:master
connected_slaves:3
slave0:ip=127.0.0.1,port=6384,state=online,offset=1078,lag=1
slave1:ip=127.0.0.1,port=6383,state=online,offset=1078,lag=1
slave2:ip=127.0.0.1,port=6382,state=online,offset=1078,lag=0
master_replid:c544526ec7ec485aee47f385ede62f74231f7f32
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1092
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1092
  1. 验证:在主节点添加一个值,看看是否能同步到从服务器;
127.0.0.1:6381> set name xpd
OK

127.0.0.1:6382> get name
"xpd"

127.0.0.1:6383> get name
"xpd"

127.0.0.1:6384> get name
"xpd"

在主从配置完成的基础上配置哨兵监控主节点

  1. 修改 /usr/local/redis-sentinel/sentinel-26381 和 sentinel-26382 目录下的 sentinel.conf
-- 添加以下内容
daemonize yes     -- 指定sentinel为后台启动
protected-mode no     --关闭保护模式
logfile "/usr/local/redis-sentinel/sentinel-26381/sentinel-26381.log"
-- 修改以下内容
port 26381     -- 指定sentinel端口号
sentinel monitor mymaster [主服务器节点IP] [主服务器节点port] [几个哨兵检测到主节点失联数量]     -- 至少有几个哨兵检测到主服务器故障了,才进行故障迁移 ,实例sentinel monitor mymaster 192.168.1.62 6381 2
sentinel down-after-milliseconds mymaster 30000--指定Sentinel判定Master断线的时间
dir /usr/local/redis-sentinel/sentinel-26381/data
  1. 启动哨兵,并查看哨兵日志,记住开放哨兵端口!!!
/usr/local/redis-4.0.6/src/redis-sentinel /usr/local/redis-sentinel/sentinel-26381/sentinel.conf
/usr/local/redis-4.0.6/src/redis-sentinel /usr/local/redis-sentinel/sentinel-26382/sentinel.conf
tail -f /usr/local/redis-sentinel/sentinel-26381/sentinel-26381.log
tail -f /usr/local/redis-sentinel/sentinel-26382/sentinel-26382.log
[root@VM-24-4-centos sentinel-26382]# tail -f /usr/local/redis-sentinel/sentinel-26382/sentinel-26382.log 
3564:X 12 Aug 00:10:32.388 # Configuration loaded
3565:X 12 Aug 00:10:32.390 * Running mode=sentinel, port=26382.
3565:X 12 Aug 00:10:32.390 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
3565:X 12 Aug 00:10:32.394 # Sentinel ID is 433bfdd83c84b102e2f5cc642cd137bbc83710c9
3565:X 12 Aug 00:10:32.395 # +monitor master mymaster 101.23.123.322 6381 quorum 2
3565:X 12 Aug 00:10:32.398 * +slave slave 101.23.123.322:6384 101.23.123.322 6384 @ mymaster 101.23.123.322 6381
3565:X 12 Aug 00:10:32.408 * +slave slave 101.23.123.322:6383 101.23.123.322 6383 @ mymaster 101.23.123.322 6381
3565:X 12 Aug 00:10:32.412 * +slave slave 101.23.123.322:6382 101.23.123.322 6382 @ mymaster 101.23.123.322 6381
3565:X 12 Aug 00:10:32.938 * +sentinel sentinel 357323c61f0a372c16d972ed0603ecaed84f3606 10.0.0.1 26381 @ mymaster 101.23.123.322 6381
3565:X 12 Aug 00:11:02.960 # +sdown sentinel 357323c61f0a372c16d972ed0603ecaed84f3606 10.0.0.1 26381 @ mymaster 101.23.123.322 6381
  1. 杀掉主节点进程并查看sentinel日志;
  • 主节点从6381变成6384;
  • 6381节点启动之后变成6384的从节点;
    请添加图片描述
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值