(转)Linux下 Redis集群搭建详解(主从+哨兵)

目录

1.redis开始安装

2.集群部署

2.1主机配置

2.2从机配置

2.3数据同步

3.哨兵集群搭建

3.1创建哨兵

3.2启动三个哨兵

3.3模拟容灾切换


1.redis开始安装

下载所需要的redis安装包redis-3.2.9.tar.gz

redis-3.2.9.tar.gz上传

cd /usr/local/software

安装gcc 

yum -y install gcc

解压redis包

tar -zxvf /usr/local/software/redis-3.2.11.tar.gz -C /usr/local/

进入解压后的redis
cd /usr/local/redis-3.2.9/

编译
make

进入src目录安装
cd src

安装
make install

建立两个文件夹存放redis命令和配置文件

mkdir -p /usr/local/redis/etc
mkdir -p /usr/local/redis/bin

将redis-3.2.9下的redis.conf复制到/usr/local/redis/etc下
cp /usr/local/redis-3.2.9/redis.conf /usr/local/redis/etc/

将redis-3.2.9里src目录下的可执行文件移动到/usr/local/redis/bin
cd /usr/local/redis-3.2.9/src/

mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /usr/local/redis/bin

启动redis服务

切换到 bin 目录,使用./redis-server即可启动 redis 服务
cd /usr/local/redis/bin

启动时指定刚才我们复制到 etc 文件夹下的redis.conf
./redis-server /usr/local/redis/etc/redis.conf

查看redis的进程

ps axu|grep redis

使用redis-cli命令连接客户端

关闭redis服务

redis-cli -p 6379 shutdown

 

2.集群部署

复制redis服务器,修改IP分别为101、102、103

IP地址

端口号

角色

101

6381

主机(master)

102

6382

从机(slave)

103

6383

从机(slave)

2.1主机配置

进入到etc 文件夹,编辑 redis.conf 配置
cd /usr/local/redis/etc
vi redis.conf

主机(101)需要改动的配置如下所示

bind:0.0.0.0
port:6379
protected-mode:no
daemonize:yes
dir ./ 变更为 /usr/local/redis/etc

2.2从机配置

进入到etc 文件夹,编辑 redis.conf 配置

cd /usr/local/redis/etc
vi redis.conf

从机(102、103)需要改动的配置如下所示

bind:0.0.0.0
port:6379
protected-mode:no
daemonize:yes
dir ./ 变更为 /usr/local/redis/etc
slaveof 192.168.43.101 6381   需要注意的是老版本使用的是 slaveof,目前我使用的5.0.7版本要使用 replicaof

2.3数据同步

启动redis服务

cd /usr/local/redis/bin
./redis-server /usr/local/redis/etc/redis.conf

设置防火墙

防火墙关闭状态下请无视,否则主从机之间无法同步数据
firewall-cmd --add-port=6379/tcp --permanent --zone=public

#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

查看主从

主机master

从机slave

主从验证

主机(master)添加数据

从机(slave)获取数据

 

3.哨兵集群搭建

3.1创建哨兵

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

同样为了方便管理,首先将sentinel.conf复制到 etc 下

cd /usr/local/redis-3.2.9
cp sentinel.conf /usr/local/redis/etc/

编辑 sentinel.conf

cd /usr/local/redis/etc/
vi sentinel.conf

配置文件修改如下

注:这里的monitor 主机IP是redis的master主机IP

 

3.2启动三个哨兵

分别启动三台服务器的sentinel

cd /usr/local/redis/bin
redis-sentinel /usr/local/redis/etc/sentinel.conf

 全部启动后,可以任意一台服务器查看到信息

查看哨兵信息

三个哨兵都启动后,可使用如下命令查看哨兵信息; 可以看到,哨兵已经监听到当前的主机IP端口和运行状态,并且有2台从机,3个哨兵。

 

3.3模拟容灾切换

1、将主机 redis 服务关闭

redis-cli -p 6379 shutdown

2、再重新启动redis

./redis-server /usr/local/redis/etc/redis.conf

发现刚才的主机(192.168.43.101 6381)已经变成了从机;

并且哨兵(Sentinel)通过选举机制选举了从机(192.168.43.102 6382)作为了新的主机;

原从机(192.168.43.102 6382)控制台打印出101 convert-to-slave;

 

版权声明:本文为非博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/xch_yang/article/details/104019552

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值