Redis主从+哨兵

该文详细介绍了如何在Centos7上安装Redis6.2.9,包括升级gcc至4.9以上以满足C11特性需求,然后进行编译、安装和配置。文章还涵盖了Redis的主从配置,以及哨兵系统的设置,用于实现高可用性。
摘要由CSDN通过智能技术生成

1. 安装

1.1 下载

下载:

wget https://download.redis.io/releases/redis-6.2.9.tar.gz

1.2 基础操作

解压:

tar zxf redis-6.2.9.tar.gz

创建对应目录:

mkdir /data/redis/data bin log etc

1.3 编译安装

注意:

  • 在编译之前我们需要确认 gcc 版本,自 redis 6.0.0 之后,编译 redis 需要支持 C11 特性,C11 特性在 4.9 中被引入。Centos 7 默认 gcc 版本为 4.8.5,所以需要升级gcc版本。

安装配置:

1. 进入安装包
cd /data/redis/redis-6.2.9
2. 编译
make

3. 安装,下面是两种方式:
make install  # 默认是安装到/usr/local/bin
make install PREFIX=/data/redis/bin  # 指定安装路径

4. 拷贝配置文件
cp ./redis.conf /data/redis/etc/

5. 修改配置文件
vim /data/redis/etc/
------------------------------------------------------------------------------
# 将daemonize的值改为yes,设置后台启动
daemonize yes

# 配置允许所有ip都可以访问redis,将bind 127.0.0.1注释掉或者改为:0.0.0.0:
#bind 127.0.0.1

# 关闭保护模式
protected-mode  no

# 配置访问密码
requirepass fo3Dxvosb0UW

# 修改log日志文件目录。
logfile /data/redis/log/redis.log

# 修改持久化存储目录
dir /data/redis/data/
------------------------------------------------------------------------------

6. 启动
/data/redis/bin/redis-server /data/edis/etc/redis.conf |tail -f /data/redis/log/redis.log

2. 主从

说明:

  • 主从使用的程序无任何区别,区别在于配置文件的配置,所以只需要复制一份主的文件到从即可。

2.1.1 master

配置文件:

# 将daemonize的值改为yes,设置后台启动
daemonize yes

# 配置允许所有ip都可以访问redis,将bind 127.0.0.1注释掉或者改为:0.0.0.0:
#bind 127.0.0.1

# 关闭保护模式
protected-mode  no

# 配置访问密码
requirepass fo3Dxvosb0UW

# 修改log日志文件目录。
logfile /data/redis/log/redis.log

# 修改持久化存储目录
dir /data/redis/data/

2.1.2 slave

配置文件:

# 将daemonize的值改为yes,设置后台启动
daemonize yes

# 配置允许所有ip都可以访问redis,将bind 127.0.0.1注释掉或者改为:0.0.0.0:
#bind 127.0.0.1

# 关闭保护模式
protected-mode  no

# 配置访问密码
requirepass fo3Dxvosb0UW

# 主的密码
masterauth fo3Dxvosb0UW

# 修改log日志文件目录。
logfile /data/redis/log/redis.log

# 修改持久化存储目录
dir /data/redis/data/

# 配置主从,指定主的ip和端口
replicaof 127.0.0.1 6379

测试:

1. 登陆
./redis-cli -h 127.0.0.1 -p 6379

2. 验证
auth fo3Dxvosb0UW

3. 查看
info replication
-------------------------------
# Replication
role:slave
master_host:127.0.0.1
master_port:6379
master_link_status:up    #是否up
master_last_io_seconds_ago:6
master_sync_in_progress:0
slave_read_repl_offset:210
slave_repl_offset:210
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:aa35ca30ae665b03bcef4e38f4f53a9c5c7efa1d
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:210
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:210
----------------------------------

3. 哨兵

说明:

  • 程序为: redis-sentinel、配置文件为:sentinel.conf,都在redis包内。
  • 哨兵会自动切换主从,主down掉后切换从为主,如果主再次上线就会变成从,而不会再次切换。
  • 只需要拷贝redis-sentinel到应用目录即可,操作和redis主从一致。

配置文件:

# 端口
port 26379

# 后台运行
daemonize yes

# pid
pidfile "/var/run/redis-sentinel-1.pid"

# 日志路径
logfile "/data/redis/redis-sentinel-1/log/sentinel.log"

# 主redis mymaster是名称,后面是ip和端口 最后是几个哨兵投票才生效
sentinel monitor mymaster 127.0.0.1 6379 2

# 访问主的密码
sentinel auth-pass mymaster fo3Dxvosb0UW

# 多少毫秒后认为主挂掉
sentinel down-after-milliseconds mymaster 10000

# 注意每个哨兵的id不能重复
sentinel myid e8033e4060afc2b6b34078d290b22e1867390edc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值