Linux下配置Redis的主从复制和主从切换 Redis在linux下安装和测试

一、为了实现高可用,一般生产环境使用的Redis都会做的主从复制和主从切换,而这些只需要做少许的配置即可完成。

二、为了便于展示,在一台机器上完成主从复制和主从切换,所以就需要修改端口,多运行几个实例

  1、安装redis参考 ,即安装在:/usr/local/redis下,源码在:/usr/local/src/redis-4.0.9下

    Redis在linux下安装和测试

  2、复制主从配置文件和哨兵的配置文件

# 主机节点配置
cp /usr/local/src/redis-4.0.9/redis.conf /usr/local/redis/redis-master.conf
# 从节点配置
cp /usr/local/src/redis-4.0.9/redis.conf /usr/local/redis/redis-slave.conf
# 三个哨兵节点配置
cp /usr/local/src/redis-4.0.9/sentinel.conf /usr/local/redis/sentinel-1.conf
cp /usr/local/src/redis-4.0.9/sentinel.conf /usr/local/redis/sentinel-2.conf
cp /usr/local/src/redis-4.0.9/sentinel.conf /usr/local/redis/sentinel-3.conf

  3、修改配置文件

    a、修改主节点配置 redis-master.conf

# 修改可以远程访问
bind 0.0.0.0
# 修改成保护模式可以不使用密码
protected-mode no
# 修改成后台启动
daemonize yes
# 修改数据存储为绝对路径
dir /usr/local/redis/6379/

    b、修改从节点配置 redis-slave.conf

# 修改端口,在用一个机器上6379已经被主节点占用
port 6479
# 修改可以远程访问
bind 0.0.0.0
# 修改成保护模式可以不使用密码
protected-mode no
# 修改成后台启动
daemonize yes
# 修改数据存储为绝对路径
dir /usr/local/redis/6479/
# 将文件名改成redis要启动的端口,如果安装多个redis
pidfile /var/run/redis_6479.pid
# 配置主节点ip和端口
slaveof 127.0.0.1 6379

    c、修改哨兵配置  sentinel-1.conf

# 修改成保护模式可以不使用密码
protected-mode no
# 哨兵监控的master,集群名为mymaster,主节点的ip和端口,需要断定主节点死亡的哨兵数
sentinel monitor mymaster 127.0.0.1 6379 2
# master或slave多长时间(默认30秒)不能使用后标记为s_down状态。
sentinel down-after-milliseconds mymaster 5000
#若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。
sentinel failover-timeout mymaster 18000
#设置master和slaves验证密码,没有密码不需要
# sentinel auth-pass mymaster  密码
# 指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步
sentinel parallel-syncs mymaster 1

    d、修改哨兵配置  sentinel-2.conf,和上一步配置一样,因为在同一台机器,需要修改下端口

# 修改端口,在用一个机器上6379已经被主节点占用
port 26479
# 修改成保护模式可以不使用密码
protected-mode no

    e、修改哨兵配置  sentinel-3.conf,和上一步配置一样,因为在同一台机器,需要修改下端口

# 修改端口,在用一个机器上6379已经被主节点占用
port 26579
# 修改成保护模式可以不使用密码
protected-mode no

  4、启动主从,启动哨兵

# 创建redis数据存储目录
mkdir /usr/local/redis/6379 /usr/local/redis/6479
# 启动主从
/usr/local/redis/bin/redis-server /usr/local/redis/redis-master.conf
/usr/local/redis/bin/redis-server /usr/local/redis/redis-slave.conf
# 启动哨兵
/usr/local/redis/bin/redis-sentinel /usr/local/redis/sentinel-1.conf
/usr/local/redis/bin/redis-sentinel /usr/local/redis/sentinel-2.conf
/usr/local/redis/bin/redis-sentinel /usr/local/redis/sentinel-3.conf

  5、查看启动状态

#  通过哨兵查看集群的信息
/usr/local/redis/bin/redis-cli -p 26379 info

  

  备注:redis哨兵集群可以监控多个主从,只需要保证集群名唯一即可。

yexiangyang

[email protected]


猜你喜欢

转载自www.cnblogs.com/moy25/p/9478700.html
今日推荐