linux下部署安装与配置redis一主一从两哨兵
在 Linux 系统下搭建一主一从两哨兵模式的 Redis 集群,需要进行以下步骤:
安装 Redis:在主节点和从节点上安装 Redis 数据库,可以使用系统自带的包管理工具(如 yum、apt-get)或手动编译安装 Redis。
配置 Redis:在主节点和从节点上分别配置 Redis 数据库,包括设置 Redis 的密码、端口、持久化方式等参数。
启动 Redis:在主节点和从节点上启动 Redis 数据库,可以使用 redis-server 命令启动 Redis。
复制数据:在从节点上配置 Redis 的复制关系,将主节点的数据复制到从节点上,可以使用 redis-cli 命令进行复制。
配置哨兵:在主节点和从节点上分别配置 Redis 哨兵节点,包括设置哨兵的端口、监控的主节点和从节点等参数。
启动哨兵:在主节点和从节点上启动 Redis 哨兵节点,可以使用 redis-sentinel 命令启动哨兵。
测试故障转移:模拟主节点宕机,测试哨兵节点是否能够自动将从节点切换为主节点。
需要注意的是,搭建 Redis 集群需要考虑到诸多因素,如硬件配置、网络环境、数据安全等,建议在实际操作前先进行充分的准备和测试。另外,也可以使用一些自动化的工具来简化 Redis 集群的搭建和管理,如 Redis Sentinel、Redis Cluster 等。
以下是一主一从两哨兵模式的 Redis 集群部署过程及相关配置文件的更改。
假设我们有两台服务器,它们的 IP 分别为 192.168.116.128、192.168.116.131。我们将192.168.116.128 作为主节点,192.168.116.131作为从节点
1、安装 Redis
在每台服务器上安装 Redis这里采用编译安装,具体安装方法可以参考 Redis 官方文档。假设安装路径为 /usr/local/redis。
tar -zxvf redis-5.0.14.tar.gz #解压安装包
cd redis-5.0.14 #进入解压目录
make # 编译
make PREFIX=/usr/local/redis install # 编译安装并指定安装目录
mkdir /usr/local/redis/conf #在redis安装目录创建conf文件夹,用来存放redis的配置文件redis.conf
mdir /usr/local/redis/logs #在redis下创建日志文件夹,存放日志文件
mkdir /usr/local/redis/temp #在redis 下创建数据文件夹,用来存放数据文件
cp /root/redis-5.0.14/redis.conf /usr/local/redis/conf/ #复制配置文件到redis的安装目录下,便于统一管理
2、配置主节点
在redis的conf文件夹下创建master.conf、sent1.conf文件。
#master.conf文件用户简化redis的主配置文件redis.conf,便于管理
mkdir master.conf #主节点配置文件
mkdir sent1.conf #主节点哨兵配置文件
在master.conf主配置文件增加以下配置项:
#引入redis.conf主配置文件,便于维护
include /usr/local/redis/conf/redis.conf
port 6379 #端口号
daemonize yes #允许后台启动
protected-mode yes #开启保护模式;
pidfile "/usr/local/redis/redis_6379.pid" #pid文件存放位置
logfile "/usr/local/redis/logs/redis.log" #日志文件存放位置
dbfilename "dump.rdb" #数据所在文件名
dir "/usr/local/redis/temp" #数据存放位置
requirepass "123456" #redis密码 (不配置密码时,忽略)
masterauth "123456" #主从交互密码 (redis无密码时刻忽略)
maxmemory 1gb #最大存储量为1G
配置主节点哨兵:
port 26379 #默认端口
daemonize yes #允许后台启动
protected-mode no #关闭保护模式(此配置很重要,不配置将无法实现主从切换)
logfile "/usr/local/redis/logs/sentinel.log"
sentinel monitor mymaster 192.168.116.128 6379 1 #配置选举机制,哨兵时刻监控主服务器的6379端口,后面的“1”是当有一票认为它宕机以后就开始主从切换
sentinel auth-pass mymaster "123456" #配置redis交互密码(redis无密码时不需要此配置);
3、配置从节点
在redis的conf文件夹下创建slave.conf、sent2.conf文件。
#master.conf文件用户简化redis的主配置文件redis.conf,便于管理
mkdir slave.conf #从节点配置文件
mkdir sent2.conf #从节点哨兵配置文件
在slave.conf主配置文件增加以下配置项:
#引入redis.conf主配置文件,便于维护
include /usr/local/redis/conf/redis.conf
port 6379 #端口号
daemonize yes #允许后台启动
protected-mode yes #开启保护模式;
pidfile "/usr/local/redis/redis_6379.pid" #pid文件存放位置
logfile "/usr/local/redis/logs/redis_log" #日志文件存放位置
dbfilename "dump.rdb" #数据所在文件名
dir "/usr/local/redis/temp" #数据存放位置
slaveof 192.168.116.128 6379 #声明它是谁的从服务器,除此行外,它和主配置一样;
requirepass "123456" #redis密码 (不配置密码时,忽略)
masterauth "123456" #主从交互密码 (redis无密码时刻忽略)
maxmemory 1gb #最大存储量为1G
在sent2.conf配置文件增加以下配置项:
port 26379 #默认端口
daemonize yes #允许后台启动
protected-mode no #关闭保护模式(此配置很重要,不配置将无法实现主从切换)
logfile "/usr/local/redis/logs/sentinel.log"
sentinel monitor mymaster 192.168.116.128 6379 1 #配置选举机制,哨兵时刻监控主服务器的6379端口,后面的“1”是当有一票认为它宕机以后就开始主从切换
sentinel auth-pass mymaster "123456" #配置redis交互密码(redis无密码时不需要此配置);
5、启动 Redis
在服务器上分别启动 Redis 和哨兵节点:
#启动主节点redis
/usr/local/redis/bin/redis-server /usr/local/redis/conf/master.conf #带配置文件启动
#启动主节点哨兵
/usr/local/redis/bin/redis-sentinel /usr/local/redis/conf/sent1.conf #带配置文件启动
#启动从节点redis
/usr/local/redis/bin/redis-server /usr/local/redis/conf/slave.conf #带配置文件启动
#启动从节点哨兵
/usr/local/redis/bin/redis-sentinel /usr/local/redis/conf/sent2.conf #带配置文件启动
查看主节点和从节点服务是否启动成功:
通过查看redis进程,显示已经启动成功。
6、验证效果
查看从库是否已连接主库
显示已经有一个从库连接主库,说明主从成功。
查看主节点哨兵日志:
查看从节点哨兵日志:
显示已经有一个从库连接主库,说明主从成功。
可以看到128为主,131为从。