redis主从哨兵模式搭建实例

最近因项目需要搭建redis环境,有多种模式可以选择,其中比较经典的一种模式是主从哨兵模式,下面进行这一模式的搭建演示

一台虚拟机搭建一个redis主从哨兵模式简单集群: 一主、一从、一哨兵

虚拟机版本   Red Hat 4.1.2-48  内存1 G

redis 版本     redis-2.8.19.tar.gz(仅举例用,版本不规定)

1、上传redis安装包及规划目录

root用户登录虚拟机,进入桌面建立一个文件夹比如 lamp (上传redis 安装包用 读者可自由选择安装路径)

上传 redis安装包,解压安装包(通常使用linux命令)

tar  -zxvf  redis-2.8.19.tar.gz

将解压后的目录改名redis-001 作为 redis 主机包

mv redis-2.8.19   redis-001

再解压一份,改名为 redis-002 作为redis 从机包,然后目录结构如下图所示

进入 redis-001 目录 进行安装 make操作(redis-002 同样需要make)

cd redis-001

make

(如果执行make命令报错 /bin/sh: cc: command not found 那么则先执行以下命令即可  yum install gcc-c++  然后  执行 make MALLOC=libc 替换之前 make命令)

创建快捷目录

mkdir   /root/Desktop/lamp/redis-001/bin

将常用的redis 工具从相应文件夹下移动到快捷目录中,方便集中操作与处理

在redis-001/src目录下执行移动命令

mv mkreleasehdr.sh redis-benchmark redis-check-aof  redis-cli redis-server redis-sentinel /root/Desktop/lamp/redis-001/bin

在redis001目录下执行移动命令

mv redis.conf sentinel.conf  /root/Desktop/lamp/redis-001/bin

创建日志目录 用于存放redis工作日志文件

mkdir   /root/Desktop/lamp/redis-001/bin/logs

同样 对redis-002目录也进行类似的操作

cd redis-002

make

mkdir   /root/Desktop/lamp/redis-002/bin

redis002/src

mv mkreleasehdr.sh redis-benchmark redis-check-aof  redis-cli redis-server /root/Desktop/lamp/redis-002/bin

redis002

mv redis.conf sentinel.conf  /root/Desktop/lamp/redis-002/bin

2、修改主机redis.conf配置文件

daemonize   改为 yes

port  6379   不用改

pidfile          默认不用改

logfile          指定到 redis目录下的 "/root/Desktop/lamp/redis-001/bin/logs/redis.log"

maxclients  4096         增加最大连接的客户端数量配置

tcp-keepalive    修改为 60

requirepass 123456  如果需要给redis添加密码的话

3 修改从机 redis.conf 配置基本同上;

daemonize   改为 yes

port  6380  从机端口

pidfile          默认不用改

logfile          指定到 redis目录下的 "/root/Desktop/lamp/redis-002/bin/logs/redis2.log"

maxclients  4096         增加最大连接的客户端数量配置

tcp-keepalive    修改为 60

在最后多一条设置

slaveof  IP  端口   # IP 为主机的IP

例如:slaveof  主机IP  6379

注意:IP redis主机的服务器IP

笔者这里为  slaveof 192.168.110.128 6379

4 配置监听服务 sentinel.conf

主机,从机 保持一致即可

可以清空原配置文件,然后直接复制下面信息

主从机  都要配置上主机的IP和端口(如 主机IP  6379为主机的ip和端口):

笔者这里仅配置主机的sentinel 哨兵,从机未配置(实现 一主一从一哨兵,读者可根据项目需要配置多个哨兵)

这里监听哨兵端口为 26379

port 26379

daemonize yes

tcp-keepalive  60

logfile "/root/Desktop/lamp/redis-001/bin/logs/sentinel.log"

sentinel monitor mymaster  主机IP  6379 1

sentinel down-after-milliseconds mymaster 8000

sentinel failover-timeout mymaster 30000

sentinel parallel-syncs mymaster 1

注意这个主机ip 如果是本地虚拟机的话,主机ip为当前机器的ip地址

如果部署在云服务器中的话,如阿里云

且访问服务也是部署在阿里云且同区域机房内,那主机ip可以为内网ip地址

如跨区域或者外部程序访问该哨兵节点,则主机ip则为公网ip地址

5、启动

先启动主机的服务,再启动从机的服务

redis-001/bin/redis-server  redis.conf 

redis-002/bin/redis-server  redis.conf 

再启动监听服务

redis-001/bin/redis-sentinel  sentinel.conf

可以用下列命令 来查看服务

src/redis-cli  -p  6379 info

src/redis-cli  -p  26379 info

用 ps -ef|grep redis 查看服务进程

查看日志目录文件

如果redis服务在centos7服务器上,那么需要将 端口给开放出来

开放 26379 端口

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

重启防火墙

firewall-cmd --reload

用工程去连接redis哨兵监听服务,启动项目tomcat 成功

再用redis查看工具 redis-desktop-manager 查看主机与从机的 数据存储情况

再看从机

到此,最简单的 redis 一主一从一哨兵环境搭建成功!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

景天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值