搭建Redis哨兵集群

搭建Redis哨兵集群

1. 环境准备

准备3台服务器地址为:

192.163.1.11

192.163.1.12

192.163.1.13

并且保证三台机器能供互相ping通

至于容器间相互访问的方法,我采用docker方式:

  1. docker安装ubuntu系统
  2. docker容器间相互访问

2. 安装Redis

2.1 下载

http://download.redis.io/releases/redis-5.0.7.tar.gz

2.2 解压缩

#放入系统文件夹中,进入到该文件夹,我的文件夹在/usr/local/environment 
tar xzf redis-5.0.7.tar.gz

2.3 编译

cd redis-5.0.7/
make

2.4 安装

cd src/
make install PREFIX=/usr/local/environment/redis

安装成功可以看到在/usr/local/environment/redis 路径下,多了一个bin文件夹,其中包含基本得命令脚本

2. 整理配置文件

由于我们是将运行文件install到了/usr/local/environment/redis路径下,所以我们还需要将配置文件拷贝进来。

这一步只是为了集中的管理文件,方便查找。

2.1 创建etc和logs文件夹

在/usr/local/environment/redis文件夹中创建etc文件夹和logs文件夹

cd /usr/local/environment/redis
mkdir etc
mkdir logs

结果如下图:

在这里插入图片描述

2.2 复制.conf文件到etc

进入解压缩后的redis-5.0.7文件夹中

在这里插入图片描述

复制redis.conf以及sentinel.conf

cp redis.conf ../redis/etc
cp sentinel.conf ../redis/etc

3. 修改配置文件

3.1 修改Redis.conf

3.1.1 主节点配置

我们选择192.168.1.11 作为主节点服务器

进入redis/etc文件夹

cd /usr/local/environment/redis/etc
vim redis.conf

修改内容如下:

1 bind:0.0.0.0   ##Redis 默认只允许本机访问,把 bind 修改为 0.0.0.0 表示允许所有远程访问。如果想指定限制访问,可设置对应的 ip。
2 port:6379               ##redis启动接口
3 protected-mode:no                     ##关闭保护模式,可以外部访问
4 daemonize:yes                             ##设置为后台启动
5 pidfile "/usr/local/environment/redis/var/run/redis_6379.pid" ##redi pid存储位置,建议加上端口,便于区分
6 logfile "/usr/local/environment/redis/logs/redis_6379.log"     ##日志文件存储位置
7 requirepass 12345        ##设置 redis 连接密码
8 masterauth 12345         ##slave 服务连接 master 的密码

3.1.2 从节点配置

我们选择 192.168.1.12192.168.1.13作为从节点服务器。

安装步骤同上。

修改内容如下:

1 bind:0.0.0.0
2 port:6378
3 protected-mode:no
4 daemonize:yes
5 pidfile "/usr/local/environment/redis/var/run/redis_6379.pid"
6 logfile "/usr/local/environment/redis/logs/redis_6379.log"
7 requirepass:12345
8 masterauth:12345
9 replicaof 192.168.1.11 6379   ##主节点的IP 端口

注意:

  1. replicaof属性

    从机的配置和主机相似,不同的地方是需要使用replicaof指定主机(master)的IP地址和端口,需要注意的是老版本使用的是 slaveof,目前我使用的5.0.7版本要使用 replicaof。replicaof XX.XX.XX.XX 6379 指定当本机为 slave 服务时,设置 master 服务的IP地址及端口,在 redis 启动的时候会自动跟 master 进行数据同步,所以两台从机都这样配置即可。

3.2 修改Sentinel.conf

编辑

vim sentinel.conf

修改内容如下:

1 port:26379                               ## 默认端口为26379。
2 protected-mode:no                       ## 关闭保护模式,可以外部访问
3 daemonize:yes                           ##设置为后台启动
4 pidfile "/usr/local/environment/redis/var/run/redis-sentinel_26379.pid"         ##redis sentinel pid文件位置
5 logfile "/usr/local/environment/redis/logs/sentinel_26379.log"          ##日志文件
6 sentinel monitor master 192.168.1.11 6379 2 ##指定主机IP地址和端口,并且指定当有2台哨兵认为主机挂了,则对主机进行容灾切换
7 sentinel auth-pass master 12345             ##当在Redis实例中开启了requirepass,这里就需要提供密码
8 sentinel down-after-milliseconds master 3000                      ##这里设置了主机多少秒无响应,则认为挂了
9 snetinel parallel-syncs master 1            ##主备切换时,最多有多少个slave同时对新的master进行同步,这里设置为默认的1
10 sentinel failover-timeout master 180000       ##故障转移的超时时间,这里设置为三分钟

sentinel.conf文件主从都一致。三台保持一致就可以。

4. 连接节点查看信息

4.1 运行Redis

进入redis/bin文件夹,运行命令: 优先启动主节点

./redis-server ../etc/redis.conf  ##启动redis
./redis-sentinel ../etc/sentinel.conf ##启动哨兵

由于我们设置了log文件的地址,所有在前端控制台不显示运行结果状态。如果想要查看启动情况,可以去logs文件夹中查看。

4.2 连接redis

连接master节点,进入redis/bin文件夹,运行命令:

./redis-cli -h 192.168.1.11 -p 6379 
#返回结果后输入密码
auth 12345
#然后运行命令
info replication

结果如下:

在这里插入图片描述

至此,redis哨兵模式搭建完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值