环境准备
CentOS 7.3
redis1 172.18.1.101:7001 master
redis2 172.18.1.102:7002 master
redis3 172.18.1.103:7003 master
redis4 172.18.1.104:7004 slave
redis5 172.18.1.105:7005 slave
redis6 172.18.1.106:7006 slave

停止防火墙(有可能还需要iptables加规则)
systemctl stop firewalld.service
systemctl disable firewalld.service

修改内核参数
vi /etc/sysctl.conf
vm.overcommit_memory = 1

查看效果
sysctl -p

安装必要的软件包
yum -y install gcc automake autoconf libtool make telnet ruby-devel ruby-irb ruby-libs ruby-rdoc ruby rubygems-devel rubygems
gem install redis #忘了这一步会导致使用redis-trib.rb创建集群的时候报错

编译安装Redis
cd ~
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
tar -zxf redis-3.2.8.tar.gz;cd redis-3.2.8;make
make install PREFIX=/usr/local/redis
mkdir /usr/local/redis/etc;mkdir /usr/local/redis/db;cp redis.conf /usr/local/redis/etc/;cp ./src/redis-trib.rb /usr/local/redis/bin/

修改配置文件,密码为password
vi /usr/local/redis/etc/redis.conf

#bind 127.0.0.1 #这里注释掉,否则会导致其它节点无法与本节点通信
protected-mode yes
port 7001 #不同机器端口不一样,我们用7001-7006 #如果用一样的端口,创建集群会出问题
daemonize yes
pidfile /var/run/redis_7001.pid #不同机器PID文件不一样,我们用7001-7006 #可以用同一个,但是为了统一还是建议改成不同的
logfile "/var/log/redis.log"
dir /usr/local/redis/db/
masterauth password
requirepass password
appendonly yes
cluster-enabled yes
cluster-config-file nodes-7001.conf #不同机器nodes.conf文件不一样,我们用7001-7006 #原因同pidfile
cluster-node-timeout 15000

启动Redis测试能否正常启动,注意看一下端口
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

备份Redis配置文件,未来如果改了其他设置除了问题,可以留作比对
cp -p redis.conf redis.conf.bak

查看日志
tail -100f /var/log/redis.log

修改ruby脚本,否则无法创建集群
vi /usr/local/share/gems/gems/redis-3.3.3/lib/redis/client.rb
修改DEFAULTS里面的password一项,我们这里用的是"password",一定要加引号

创建集群,这里一定要用IP和端口,不能用hostname
/usr/local/redis/bin/redis-trib.rb create --replicas 1 172.18.1.101:7001 172.18.1.102:7002 172.18.1.103:7003 172.18.1.104:7004 172.18.1.105:7005 172.18.1.106:7006

查看哪些Redis实例被定为Master
/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 7001
cluster nodes

拷贝sentinel.conf到etc下
cp /root/redis-3.2.8/sentinel.conf /usr/local/redis/etc

编辑sentinel.conf
vi /usr/local/redis/etc/sentinel.conf

protected-mode no
port 27001 #不同Sentinel端口不一样,我们用27001-27003

sentinel monitor mymaster1 172.18.1.101 7001 2
sentinel monitor mymaster2 172.18.1.102 7002 2
sentinel monitor mymaster3 172.18.1.103 7003 2

sentinel down-after-milliseconds mymaster1 10000
sentinel down-after-milliseconds mymaster2 10000
sentinel down-after-milliseconds mymaster3 10000

sentinel parallel-syncs mymaster1 1
sentinel parallel-syncs mymaster2 1
sentinel parallel-syncs mymaster3 1

sentinel failover-timeout mymaster1 15000
sentinel failover-timeout mymaster2 15000
sentinel failover-timeout mymaster3 15000

daemonize yes
logfile "/var/log/sentinel.log"

备份Sentinel配置文件,未来如果改了其他设置除了问题,可以留作比对
cp -p sentinel.conf sentinel.conf.bak

启动Sentinel
/usr/local/redis/bin/redis-sentinel /usr/local/redis/etc/sentinel.conf

常用命令
ps -ef | grep redis
tail -100f /var/log/redis.log
tail -100f /var/log/sentinel.log
/usr/local/redis/bin/redis-cli -h 172.18.1.101 -p 7001 -a password
kill $(ps -ef | grep redis | grep -v grep | awk '{print $2}')

Redis 3.2.8 集群模式+Sentinel多Master部署的更多相关文章

  1. redis解决方案之三种集群模式的概念与部署

    上篇文章为大家总结了redis命令并讲述了持久化,今天我们来看一下redis的三种集群模式:主从复制,哨兵集群,Cluster集群 本篇文章先介绍redis-cluster集群模式,然后再依次介绍它的 ...

  2. Redis单机配置以及集群(sentinel、jediscluster)配置

    最近一直在使用Redis作为缓存数据库,在使用当中,刚开始没有注意配置问题. 1.纯粹的注入单机模式 <bean id="jedisPoolConfig" class=&qu ...

  3. Redis集群模式(Cluster)部署

    1. 安装依赖包 注意:本节需要使用root用户操作 1.1 安装ruby yum install ruby -y yum install ruby-devel.x86_64 -y 1.2 安装rub ...

  4. Redis三种集群模式介绍

    三种集群模式 redis有三种集群模式,其中主从是最常见的模式. Sentinel 哨兵模式是为了弥补主从复制集群中主机宕机后,主备切换的复杂性而演变出来的.哨兵顾名思义,就是用来监控的,主要作用就是 ...

  5. Redis学习笔记~conf自主集群模式

    回到目录 Redis自主提供了集群模式,当然也只是比较简单的读写分离模式,或者叫主从模式,它在各个redis服务端自己做数据同步机制,当然就是将主服务端的信息同步到各个slave服务器上,在客户端集成 ...

  6. Redis 单机模式,主从模式,哨兵模式(sentinel),集群模式(cluster),第三方模式优缺点分析

    Redis 的几种常见使用方式包括: 单机模式 主从模式 哨兵模式(sentinel) 集群模式(cluster) 第三方模式 单机模式 Redis 单副本,采用单个 Redis 节点部署架构,没有备 ...

  7. 就publish/subscribe功能看redis集群模式下的队列技术(一)

    Redis 简介 Redis 是完全开源免费的,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中 ...

  8. Redis进阶实践之十 Redis哨兵集群模式

    一.引言             上一篇文章我们详细的讲解了Redis的主从集群模式,其实这个集群模式配置很简单,只需要在Slave的节点上进行配置,Master主节点的配置不需要做任何更改,但是有一 ...

  9. 深入剖析Redis系列: Redis集群模式搭建与原理详解

    前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...

随机推荐

  1. Mysql优化之——启用查询缓存

    启用MySQL查询缓存可以极大地减低数据库服务器的CPU使用率,实际使用情况是:开启前CPU使用率120%左右,开启后降到了10%. 查看查询缓存情况: mysql> show variable ...

  2. 【转载】一键安装maven脚本

    #!/bin/bashif [ -z "${MAVEN_HOME}" ]; then #得到时间 TIME_FLAG=`date +%Y%m%d_%H%M%S` #备份配置文件 c ...

  3. [jquery] 删除文章的时候弹出确认窗口

    [<a href="{:U(GROUP_NAME . '/Category/delCate')}/id/{$v.id}" onclick='return del();'> ...

  4. 计蒜客 30996.Lpl and Energy-saving Lamps-线段树(区间满足条件最靠左的值) (ACM-ICPC 2018 南京赛区网络预赛 G)

    G. Lpl and Energy-saving Lamps 42.07% 1000ms 65536K   During tea-drinking, princess, amongst other t ...

  5. HDU 6315.Naive Operations-线段树(两棵树合并)(区间单点更新、区间最值、区间求和)+思维 (2018 Multi-University Training Contest 2 1007)

    6315.Naive Operations 题意很好理解,但是因为区间求和求的是向下取整的a[i]/b[i],所以直接分数更新区间是不对的,所以反过来直接当a[i]==b[i]的时候,线段树对应的位置 ...

  6. System Center VMM请注意不同语言版本的差异

    在私有云的项目中,经常需要判断System Center一些组件的连接是否OK. 我这里有开发,和测试两个环境,开发是英文版的System Center VMM,测试用的是中文版的System Cen ...

  7. 形态学函数cvMorphologyEx

    OpenCV提供了通用的形态学函数cvMorphologyEx,该函数能够实现开运算,闭运算,形态梯度,礼帽操作,黑帽操作 接口形式 编辑 void cvMorphologyEx(const CvAr ...

  8. 算法-插入排序(Insertion sorting)

    本文由@呆代待殆原创,转载请注明出处. 简介:这是一个比较算法,形象的描述插入算法就和我们玩扑克的时候我们排列手牌的方式是一样的,最开始我们手上什么都没有,然后我们每摸一张牌就把它插入到正确的位置,直 ...

  9. 学习python网站

    http://code.ziqiangxuetang.com/python/python-dictionary.html

  10. [BZOJ 1799] self 同类分布

    Link: BZOJ 1799 传送门 Solution: 一句话的题目,看得爽,做得烦 一般这类和数位相关的都是数位$dp$吧 不过一开始还是感觉不太可做,毕竟每个数模数不同 但要发现,模数最高也只 ...