简介

Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性键值对存储数据库。从2015年6月开始,Redis的开发由Redis Labs赞助,而2013年5月至2015年6月期间,其开发由Pivotal赞助。[1]在2013年5月之前,其开发由VMware赞助。[2][3]根据月度排行网站DB-Engines.com的数据显示,Redis是最流行的键值对存储数据库。[4]

前言

本篇主要介绍Redis的集群部署,采用三台机器,一主两从,三台均为哨兵。

192.168.10.6 Redis主, Redis-Sentinel

192.168.10.7 Redis从, Redis-Sentinel

192.168.10.8 Redis从, Redis-Sentinel

Redis-master(192.168.10.6上的配置)

#下载redis源码包

mkdir /data/soft/ -pv

cd /data/soft

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

tar xf redis-3.2.3.tar.gz -C /usr/local/

#编译安装

cd /usr/local/

ln -sv redis-3.2.3/ redis

cd redis

yum install gcc tcl -y #安装依赖关系

cd deps/

make lua hiredis linenoise

cd ..

#make distclean all #(不用执行)

make MALLOC=libc

make test

make install

cp redis.conf redis.conf.bak

#配置文件

 cat > /usr/local/redis/redis.conf << "EOF"

 bind 0.0.0.0

 protected-mode no

 port 

 tcp-backlog 

 timeout 

 tcp-keepalive 

 daemonize yes

 supervised no

 pidfile "/var/run/redis_6379.pid"

 loglevel notice

 logfile "/usr/local/redis/redis.log"

 databases 

 save  

 save  

 save  

 stop-writes-on-bgsave-error yes

 rdbcompression yes

 rdbchecksum yes

 dbfilename "dump.rdb"

 dir "/usr/local/redis-3.2.3"

 masterauth ""

 slave-serve-stale-data yes

 slave-read-only yes

 repl-diskless-sync no

 repl-diskless-sync-delay 

 repl-disable-tcp-nodelay no

 slave-priority 

 requirepass ""

 appendonly no

 appendfilename "appendonly.aof"

 appendfsync everysec

 no-appendfsync-on-rewrite no

 auto-aof-rewrite-percentage 

 auto-aof-rewrite-min-size 64mb

 aof-load-truncated yes

 lua-time-limit 

 slowlog-log-slower-than 

 slowlog-max-len 

 latency-monitor-threshold 

 notify-keyspace-events ""

 hash-max-ziplist-entries 

 hash-max-ziplist-value 

 list-max-ziplist-size -

 list-compress-depth 

 set-max-intset-entries 

 zset-max-ziplist-entries 

 zset-max-ziplist-value 

 hll-sparse-max-bytes 

 activerehashing yes

 client-output-buffer-limit normal   

 client-output-buffer-limit slave 256mb 64mb 

 client-output-buffer-limit pubsub 32mb 8mb 

 hz 

 aof-rewrite-incremental-fsync yes

 EOF

redis.conf

#开机启动设置

echo "/usr/local/bin/redis-server /usr/local/redis/redis.conf" >>/etc/rc.d/rc.local

chmod +x /etc/rc.d/rc.local #必须要加执行权限, 否则不会执行

#启动服务

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

#查看状态

redis-cli -a 123456 info replication

Redis-slave(192.168.10.7,192.168.10.8上的配置)

#下载redis源码包

mkdir /data/soft/ -pv

cd /data/soft

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

tar xf redis-3.2.3.tar.gz -C /usr/local/

#编译安装

cd /usr/local/

ln -sv redis-3.2.3/ redis

cd redis

yum install gcc tcl -y #安装依赖关系

cd deps/

make lua hiredis linenoise

cd ..

#make distclean all #(不用执行)

make MALLOC=libc

make test

make install

#配置文件

 cat > /usr/local/redis/redis.conf << "EOF"

 bind 0.0.0.0

 protected-mode no

 port 

 tcp-backlog 

 timeout 

 tcp-keepalive 

 daemonize yes

 supervised no

 pidfile "/var/run/redis_6379.pid"

 loglevel notice

 logfile "/usr/local/redis/redis.log"

 databases 

 save  

 save  

 save  

 stop-writes-on-bgsave-error yes

 rdbcompression yes

 rdbchecksum yes

 dbfilename "dump.rdb"

 dir "/usr/local/redis-3.2.3"

 masterauth ""

 slave-serve-stale-data yes

 slave-read-only yes

 repl-diskless-sync no

 repl-diskless-sync-delay 

 repl-disable-tcp-nodelay no

 slave-priority 

 requirepass ""

 appendonly no

 appendfilename "appendonly.aof"

 appendfsync everysec

 no-appendfsync-on-rewrite no

 auto-aof-rewrite-percentage 

 auto-aof-rewrite-min-size 64mb

 aof-load-truncated yes

 lua-time-limit 

 slowlog-log-slower-than 

 slowlog-max-len 

 latency-monitor-threshold 

 notify-keyspace-events ""

 hash-max-ziplist-entries 

 hash-max-ziplist-value 

 list-max-ziplist-size -

 list-compress-depth 

 set-max-intset-entries 

 zset-max-ziplist-entries 

 zset-max-ziplist-value 

 hll-sparse-max-bytes 

 activerehashing yes

 client-output-buffer-limit normal   

 client-output-buffer-limit slave 256mb 64mb 

 client-output-buffer-limit pubsub 32mb 8mb 

 hz 

 aof-rewrite-incremental-fsync yes

 slaveof 192.168.10.6 

 EOF

redis.conf

#开机启动设置

echo "/usr/local/bin/redis-server /usr/local/redis/redis.conf" >>/etc/rc.d/rc.local

chmod +x /etc/rc.d/rc.local #必须要加执行权限, 否则不会执行

#启动服务

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

#查看状态

redis-cli -a 123456 info replication

#三sentinel配置(192.168.10.6,192.168.10.7,192.168.10.8上配置)

cat > /usr/local/redis/sentinel.conf << "EOF"

daemonize yes

port 27000

sentinel monitor redis-master 192.168.10.6 6379 2

sentinel down-after-milliseconds redis-master 5000

protected-mode no

sentinel failover-timeout redis-master 900000

sentinel parallel-syncs redis-master 2

sentinel auth-pass redis-master 123456

logfile "/usr/local/redis/sentinel.log"

EOF

#开机启动设置

echo "/usr/local/bin/redis-sentinel /usr/local/redis/sentinel.conf" >>/etc/rc.d/rc.local

chmod +x /etc/rc.d/rc.local #必须要加执行权限, 否则不会执行

#启动服务

redis-sentinel /usr/local/redis/sentinel.conf

#查看状态

redis-cli -a 123456 info replication

redis-cli -p 27000 -a 123456 info sentinel

#单sentinel配置, 注:在一主一从的环境中,部署一个sentinel节点的环境使用

cat > /usr/local/redis/sentinel.conf << "EOF"

daemonize yes

port 27000

sentinel monitor redis-master 192.168.10.6 6379 1

protected-mode no

sentinel down-after-milliseconds redis-master 5000

sentinel failover-timeout redis-master 60000

sentinel auth-pass redis-master 123456

logfile "/usr/local/redis/sentinel.log"

EOF

#转移测试

redis-cli -a 123456 shutdown (主服务器上停掉redis服务, 或pkill redis-server)

redis-cli -p 27000 -a 123456 info sentinel(查看三台redis状态转换)

Redis 3.2.3: 集群3哨兵模式的更多相关文章

  1. redis 学习笔记2(集群之哨兵模式的使用)

    redis3.0之前已经有了哨兵模式,3.0之后有了cluster(分片集群),官方不推荐使用!!主要原因是分片后单节点故障后需要实现手动分槽... 集群较为成熟的解决方案codis,公司使用的是哨兵 ...

  2. (六) Docker 部署 Redis 高可用集群 (sentinel 哨兵模式)

    参考并感谢 官方文档 https://hub.docker.com/_/redis GitHub https://github.com/antirez/redis happyJared https:/ ...

  3. redis集群之哨兵模式【原】

    redis集群之哨兵(sentinel)模式 哨兵模式理想状态 需要>=3个redis服务,>=3个redis哨兵,每个redis服务搭配一个哨兵. 本例以3个redis服务为例: 一开始 ...

  4. Redis主从集群及哨兵模式

    本次实验环境准备用一台服务器模拟3台redis服务器,1主2从 主从集群搭建 第一步:安装Redis 安装Redis,参考前面安装Redis文章,保证单机使用没有问题. 第二步:配置服务器文件 定位到 ...

  5. redis集群sentinel哨兵模式的搭建与实际应用

    参考资料:https://blog.csdn.net/men_wen/article/details/72724406 之前环境使用的keepalived+redis vip集群模式,现在我们服务切换 ...

  6. Redis集群--Redis集群之哨兵模式

    echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 搭建R ...

  7. Docker:docker搭建redis一主多从集群(配置哨兵模式)

    角色 实例IP 实例端口 宿主机IP 宿主机端口 master 172.19.0.2 6382 192.168.1.200 6382 slave01 172.19.0.3 6383 192.168.1 ...

  8. docker 搭建 redis 集群(哨兵模式)

    文件结构 1. redis-sentinel 1-1. docker-compose.yml 1-2. sentinel 1-2-1 docker-compose.yml 1-2-2 sentinel ...

  9. redis主从、集群、哨兵

    redis的主从.集群.哨兵 参考: https://blog.csdn.net/robertohuang/article/details/70741575 https://blog.csdn.net ...

随机推荐

  1. ubuntu(linux)虚拟主机部署桌面,使用window链接

    买的ubuntu只有命令行,想安装一个桌面,远程操控 网上教程很多,我主要遇到一个问题,百思不得其解 之间安装的不是连接超时,就是拒绝连接 又重新参考这篇博客安装后才解决 说一下大致流程,详细的见这位 ...

  2. OpenLayers4 隐藏(hide)Feature

    需求: 需要将同一图层的要素进行分类显示和隐藏(类似于图层控制) 方法: 使用setStyle方法将Feature的样式设置为null. 环境: win10.google chrome.OL 4.3 ...

  3. 006.kubernets之Deployment简单部署

    一 Deployment相对于RC的优势 RS与Deployment主要用于替代RC.RS的全称为Replica Set.相对于RC,RS与Deployment的优势如下: RC只支持基于等式的sel ...

  4. 【GeneXus】在WorkWithPlus中如何定义未被包含的页面属性?

    在使用GeneXus开发项目的过程中,有很多用户会使用到WorkWithPlus这个模板.通过WorkWithPlus的编辑器,让页面的调整变得极为简单,尤其是响应式页面.在WorkWithPlus的 ...

  5. Airbnb如何应用AARRR策略成为全球第一民宿平台

    案例背景 基于房东和租客的痛点构建短租平台,但困于缓慢增长 2007年,住在美国旧金山的两位设计师——BrianChesky与Joe Gebbia正在为他们付不起房租而困扰.为了赚点外块,他们计划将阁 ...

  6. Spring--2.Spring之IOC--IOC容器的23个实验(2)

    Spring--2.Spring之IOC--IOC容器的23个实验(1) 中的所有实验我都是在同一个工程中进行的,从第十个实验开始,我将新建一个新的工程开始实验. 目前导包还是跟第一个项目一致,bea ...

  7. 两个关于 Java 面试的 Github 项目

    哈喽,大家好.相信大家都知道金九银十,在人才市场上是指每年的 9 月和 10 月是企业的招聘高峰期.这个时候企业往往有大量招聘需求,求职者在这个时候就找工作无疑是最适合的.需求大,谈工资什么的就更容易 ...

  8. 自媒体工具OpenWrite

    自媒体工具OpenWrite  本篇主要介绍一款自媒体工具OpenWrite,如果你平时喜欢写写文章又或者写写笔记 你可以使用OpenWrite 统一将你写的文章发布到各个平台 包括 CSDN . S ...

  9. 12.instanceof和类型转换

    Instanceof: 判断一个对象是什么类型的~,可以判断两个类之间是否存在父子关系 package com.oop.demo07; public class Person { public voi ...

  10. 个人第四次作业AIpha2版本测试(最终版)

    这个作业属于哪个课程 软件工程 作业要求在哪里 作业要求 团队名称 RainbowPlan团队博客 这个作业目标 手动测试非本团队的小组程序,是否可以正常登录,正常运行 一.测试人员信息 测试人员 姓 ...