Redis主备HA环境部署

1       Redis主从HA环境拓扑

 

图 1 Redis主从(Sentinel)拓扑图

2       部署环境

OS:

Ubuntu 14.04.2 LTS

Kernel:

3.13.0-48-generic

JDK:

1.7.0_60-b19(HotSpot 64-bit)

Redis:

2.8.12

表  1 部署环境

Redis-master

m3.large(vCPU 2, Mem 7.5GiB)

Redis-slaver

m3.large(vCPU 2, Mem 7.5GiB)

Redis-sentinel-master

m3.large(vCPU 2, Mem 7.5GiB)

Redis-sentinel-slaver1

m3.large(vCPU 2, Mem 7.5GiB)

Redis-sentinel-slaver2

m3.large(vCPU 2, Mem 7.5GiB)

表  2 实例机型

3       Redis主从HA环境部署

3.1       Redis下载

        针对上面的压缩包添加一些自动化脚本重新打包上传到S3.

        Redis下载地址:http://redis.io/download

3.2       Redis配置

3.2.1.1 获取压缩包,解压。

  • wget https://s3.cn-north-1.amazonaws.com.cn/personal/liguangpu/db/config-redis.tar.gz
  • tar zvxf config-redis.tar.gz 

3.2.2      编译链接 redis源码:

  • 解压redis-2.8.12.tar.gz[1],进入解压后目录,执行make(参照install.txt[2]说明文档)
  • make完成后,进入src目录,执行 sudo cp redis-server redis-cli redis-sentinel /usr/local/bin
  • 修改系统参数,当系统可使用内存被占满时,启用虚拟内存,不至于服务终止。
    • sudo vim /etc/sysctl.conf
    • 添加 vm.overcommit_memory=1 保存退出
    • sudo sysctl vm.overcommit_memory=1 

3.2.3      开始创建配置并启动redis

  • 在Redis-master实例上,创建主节点配置,并启动
    • 进入config-redis目录;
    • 执行create_node.sh脚本,根据模板创建主节点配置
      •  ./create_node.sh -c 6379
    • 启动Redis-master上的主节点
      • ./startAll.sh 6379
  • 在Redis-slaver实例上,创建从节点配置,并启动
    • 进入config-redis目录;
    • 执行create_node.sh脚本,根据模板创建主节点配置
      • ./create_node.sh -c 6379 master_ip master_port
      • 修改6379/redis.conf文件,将 #slaveof一行前面的#删除,并将上一行注释掉
    • 启动Redis-slaver上的从节点
      • ./startAll.sh 6379

3.3       Sentinel配置

3.3.1      创建sentinel配置并启动1(3)个sentinel实例。

  • 将上面创建Redis-slaver过程中生成的config-redis/6379/sentinel.conf 复制到主机上
  • 修改对应的端口号(不同主机可以用同一个端口号,无需修改)
  • 如果只启动1个sentinel,那么需要将sentinel monitor开头的一行最后的2改为1

3.3.2      配置监控脚本processor-monitor.sh

  • 修改processor-monitor.sh,设置export PATH=...
    • 执行SHELL命令 echo $PATH, 复制SHELL输出结果
    • 将结果替换processor-monitor.sh中的第二行 export PATH=结果
  • 添加crontab任务,周期执行processor-monitor.sh脚本,检测redis是否运行正常
    • crontab -e (接着选3 ---  /usr/bin/vim.basic)
    • 在行末添加计划任务语句,例如(每隔10分钟执行processor-monitor.sh):
      • */10 * * * * sh /home/cloud/redis-cluster/config-redis/processor-monitor.sh 6379 > /home/cloud/redis-cluster/config-redis/crontab.log 2>&1


[1] 在config-redis/package/目录下

[2] 在config-redis/tutorial/目录下

转载于:https://www.cnblogs.com/pfan8/p/4993844.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值