Redis安装配置主从、哨兵模式搭建

主从+哨兵架构图

一个主节点(master)可拥有多个从节点(slave),从节点实现对主节点的复制,保证数据同步。而哨兵(sentinel)则对各节点进行监控,主要包括主节点存活检测、主从运行情况检测等,一旦主节点宕机,哨兵可自动进行故障转移 (failover)、主从切换。接下来就开始搭建这样一个集群,首先是主从结构,然后是哨兵模式

1.下载redis安装包

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

2.将压缩包解压到当前目录,并进入解压文件目录中

tar xzf redis-5.0.7.tar.gz

cd redis-5.0.7

3. 使用make命令对解压的 redis 文件进行编译

make MALLOC=libc

make install

4.修改配置文件将redis后台启动,注释bind

vim /opt/redis-5.0.4/redis.conf

daemonize yes           ###后台运行

#bind 127.0.0.1                    ###将bind注释掉

redis-server /opt/redis-5.0.4/redis.conf         ###启动redis

redis主从配置

IP地址

端口

角色

192.168.2.241

6379

master

192.168.2.242

6379

slave1

192.168.2.243

6379

slave2

master配置

bind:0.0.0.0

port:6379

protected-mode:no

daemonize:yes

logfile:./redis.log

requirepass:resset@2022            //三台redis认证密码设置一致

masterauth:resset@2022

slave1配置

bind:0.0.0.0

port:6379

protected-mode:no

daemonize:yes

logfile:./redis.log

requirepass:resset@2022

masterauth:resset@2022

replicaof 192.168.2.241 6379

slave2配置

bind:0.0.0.0

port:6379

protected-mode:no

daemonize:yes

logfile:./redis.log

requirepass:resset@2022

masterauth:resset@2022

replicaof 192.168.2.241 6379

下面我们需要设置一下防火墙,否则主从机之间无法同步数据,命令如下,这里根据自己设置的端口进行更改。

firewall-cmd --add-port=6379/tcp --permanent --zone=public

#重启防火墙(修改配置后要重启防火墙)

firewall-cmd --reloa

启动redis

redis-server /usr/local/src/redis-5.0.7/redis.conf

验证

Master

到slave1验证查看

到slave2验证查看

配置哨兵模式

部署三个哨兵,每台服务器一个哨兵,配置方式相同,如下

1.创建etc目录, 为了方便管理,将sentinel.conf复制到 etc 下

mkdir -p /usr/local/src/redis-5.0.7/etc

cd /data/redis-5.0.7/

cp sentinel.conf /data/redis-5.0.7/etc/

2.修改配置文件

vi sentinel.conf

配置文件修改如下,修改完毕后先按 esc ,然后:wq命令保存退出。

//端口默认为26379。

port:26379

//关闭保护模式,可以外部访问。

protected-mode:no

//设置为后台启动。

daemonize:yes

//日志文件。

logfile:./sentinel.log

//指定主机IP地址和端口,并且指定当有2台哨兵认为主机挂了,则对主机进行容灾切换。

sentinel monitor mymaster 192.168.231.130 6379 2

//当在Redis实例中开启了requirepass,这里就需要提供密码。

sentinel auth-pass mymaster pwdtest@2019

//这里设置了主机多少秒无响应,则认为挂了。

sentinel down-after-milliseconds mymaster 3000

//主备切换时,最多有多少个slave同时对新的master进行同步,这里设置为默认的1。

sentinel parallel-syncs mymaster 1

//故障转移的超时时间,这里设置为三分钟。

sentinel failover-timeout mymaster 180000

3.防火墙设置

命令如下,这里根据自己设置的端口进行更改。

firewall-cmd --add-port=26379/tcp --permanent --zone=public

#重启防火墙(修改配置后要重启防火墙)

firewall-cmd --reload

4.启动三个哨兵

redis-sentinel /usr/local/src/redis-5.0.7/etc/sentinel.conf

三个哨兵都启动后,可使用如下命令查看哨兵信息

redis-cli -p 26379

info sentinel

可以看到,哨兵已经监听到当前的主机IP端口和运行状态,并且有2台从机,3个哨兵。

容灾切换

现在我们模拟主机宕机,将主机 redis 服务关闭,如下,243现在为master

到另一台查看master切换到哪一台了,已经切换到2.242主机上了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值