redis主从
一主两从的方案
1.环境准备,准备一主两从的redis架构

redis-6379.conf

port 6379
daemonize yes
logfile "6379.log"
dbfilename "dump-6379.rdb"
dir "/opt/redis/6379/"

redis-6380.conf

port 6380
daemonize yes
logfile "6380.log"
dbfilename "dump-6380.rdb"
dir "/opt/redis/6380/"
slaveof  127.0.0.1  6379

redis-6381.conf

port 6381
daemonize yes
logfile "6381.log"
dbfilename "dump-6381.rdb"
dir "/opt/redis/6381/"
slaveof  127.0.0.1  6379

2.准备三个数据文件夹
mkdir -p  /opt/redis/{6379,6380,6381}

3。分别启动三个数据库
[root@master sbredis]# redis-server redis-6379.conf 
[root@master sbredis]# redis-server redis-6380.conf 
[root@master sbredis]# redis-server redis-6381.conf

4.检测主从状态
redis-cli -p 6379   info replication
redis-cli -p 6380   info replication
redis-cli -p 6381   info replication

5.准备三个redis哨兵,进行检测主从状态
准备三个哨兵的配置文件
redis-26379.conf

port 26379
dir /opt/redis/26379/
logfile "26379.log"
daemonize yes 
sentinel monitor s17ms 127.0.0.1 6379  2

sentinel down-after-milliseconds s17ms   30000

sentinel parallel-syncs s17ms 1

sentinel failover-timeout s17ms 180000

redis-26380.conf

redis-26381.conf

#三个配置文件,仅仅是端口的不同,通过命令快速生成配置文件

[root@master sbredis]# sed "s/26379/26380/g"  redis-26379.conf   >  redis-26380.conf  
[root@master sbredis]# sed "s/26379/26381/g"  redis-26379.conf   >  redis-26381.conf

6.分别启动三个哨兵
[root@master sbredis]# redis-sentinel redis-26379.conf 
[root@master sbredis]# redis-sentinel redis-26380.conf 
[root@master sbredis]# redis-sentinel redis-26381.conf

7.检测哨兵,主从状态

redis-cli -p 26379  info sentinel
 
#看到如下信息,就和我一样了

[root@master sbredis]# redis-cli -p 26379  info  sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=s17ms,status=ok,address=127.0.0.1:6379,slaves=2,sentinels=3

8.测验,干掉master redis,是否自动切换

9.再次启动redis  6379 查看它是否加入 主从集群

redis-cluster搭建

1.准备6个数据库节点,也就是6个redis实例,也就是6个配置文件
配置文件如下
redis-7000.conf  redis-7002.conf  redis-7004.conf
redis-7001.conf  redis-7003.conf  redis-7005.conf

配置文件,内容如下
port 7000
daemonize yes
dir "/opt/data"
logfile "7000.log"
dbfilename "dump-7000.rdb"
cluster-enabled yes   
cluster-config-file nodes-7000.conf
cluster-require-full-coverage no

分别准备6个redis节点,通过sed命令快速创建,仅仅是端口的区分

[root@master clusterredis]# sed "s/7000/7001/g" redis-7000.conf > redis-7001.conf 
[root@master clusterredis]# 
[root@master clusterredis]# sed "s/7000/7002/g" redis-7000.conf > redis-7002.conf 
[root@master clusterredis]# sed "s/7000/7003/g" redis-7000.conf > redis-7003.conf 
[root@master clusterredis]# 
[root@master clusterredis]# 
[root@master clusterredis]# 
[root@master clusterredis]# sed "s/7000/7004/g" redis-7000.conf > redis-7004.conf 
[root@master clusterredis]# sed "s/7000/7005/g" redis-7000.conf > redis-7005.conf

2.分别启动6个数据库实例

root@master clusterredis]# redis-server redis-7000.conf 
[root@master clusterredis]# redis-server redis-7001.conf 
[root@master clusterredis]# redis-server redis-7002.conf 
[root@master clusterredis]# redis-server redis-7003.conf 
[root@master clusterredis]# redis-server redis-7004.conf 
[root@master clusterredis]# redis-server redis-7005.conf

3.开始分配redis数据库的槽位, 通过ruby脚本,自动化分配槽位

4.配置ruby的解释器环境
    1.下载源码
    wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz

2.释放编译文件
        #安装ruby
        tar -xvf ruby-2.3.1.tar.gz
        ./configure --prefix=/opt/ruby/
        make && make install
    
    3.配置ruby的环境变量

/opt/ruby/bin
    添加到PATH环境变量下

4.下载ruby操作redis的模块
    
    wget http://rubygems.org/downloads/redis-3.3.0.gem
    
    5.通过ruby的包管理工具安装它
    
    gem install -l redis-3.3.0.gem
    
    6.通过ruby的脚本,自动化分配redis虚拟槽位,开启集群功能
    redis-trib.rb的脚本绝对路径(通过find去找) create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
 
 
    7.验证集群是否开启
    redis-cli -p 7000 cluster info
    
    8.登陆redis集群,写入数据,查看数据流向
    
    数据会在集群中,在节点间重定向
    
    9.redis集群到此完毕

转载于:https://www.cnblogs.com/Wj-Li/p/10864905.html

redis哨兵配置和redis-cluster搭建相关推荐

  1. redis主从配置和redis哨兵配置

    主从配置 redis 主从配置master slave 优点: 防止单点故障(除了单机版,都可以) 读写分离,更好的实现多读写少 克隆两台redis虚拟机作为从机 复制操作文件 cp /usr/red ...

  2. 【NOSQL】redis哨兵模式、集群搭建

    目录 一.redis高可用 一.Redis主从复制 1.1主从复制的作用 1.2主从复制流程 二.搭建Rdeis主从复制 2.1安装redis 2.1.1环境准备 2.1.2安装redis 2.1.3 ...

  3. Redis哨兵配置详解

    一.概述 Redis哨兵(以下称哨兵)是为Redis提供一个高可靠解决方案,对一定程序上的错误,可以不需要人工干预自行解决. 哨兵功能还有监视.事件通知.配置功能.以下是哨兵的功能列表: 监控:不间断 ...

  4. Redis主从复制、Redis哨兵模式、Redis集群

    目录 Redis主从复制 主从复制 Redis哨兵模式 哨兵sentinel 哨兵的工作原理 哨兵sentinel-实现高可用 sentinel的坑 修改从节点的选举优先级 sentinel.conf ...

  5. Redis哨兵配置及部署

    文章目录 哨兵 哨兵介绍 哨兵的应用配置 哨兵的实现原理 哨兵部署 哨兵 哨兵介绍 作用: 监控Redis系统的运行情况 功能: 监控主数据库和从数据库是否正常运行 主数据库出现故障时自动将从数据库转 ...

  6. redis 哨兵配置

    一,首先配置一主两从 redis 3.0.504为主 其余为从 二 ,修改redis.windows.conf 配置文件  主不用修改,修改两从即可 1,slaveof ip 端口号(主端口号) 2, ...

  7. linux下redis安装配置及redis常用命令(实战详细版)

    一.下载redis 下载地址: http://code.google.com/p/redis/downloads/list 2013年12月7号,我下载的是最新版本:redis-2.6.14.tar. ...

  8. python连接redis哨兵_python连接redis sentinel集群

    #!/usr/bin/env python # -*- coding:utf-8 -*- #!/usr/bin/env python import redis from redis.sentinel ...

  9. MAC 下 安装redis 并配置 php redis 扩展

    下载 redis redis-3.1.2.tgz sudo tar -xzf redis-3.1.2.tgz cd redis-3.1.2 sudo phpize grep: /usr/include ...

  10. 基于docker搭建redis哨兵模式

    github学习笔记 Redis 哨兵架构 1. redis 哨兵模式介绍 1) 哨兵模式是Redis的高可用方式,哨兵节点是特殊的redis服务,不提供读写服务,主要用来监控redis实例节点.2) ...

最新文章

  1. mysql 事务隔离规范_MySQL事务隔离级别以及脏读、幻读、不可重复读示例
  2. 【专题】“莓日一介”之(BlackBerry 7230“经典”)
  3. java多线程测试框架(含入参和返回值)
  4. Pycharm超使用快捷键
  5. junit:junit_简而言之,JUnit:另一个JUnit教程
  6. 计算机网络原理(第三章) 传输层 课后习题
  7. 去别人共享目录下拷贝东西,怎么进入别人的机器
  8. 如何让CentOS8虚拟机与主机相互Ping通
  9. RTP发送和接收(有图为证)
  10. Enterprise Libary 2 Hands-on-Lab 发布了
  11. 英特尔显示器音频_联想YOGA C940英特尔移动超能笔记本评测:小身材也有大能量...
  12. 8、Python车牌数据集自动生成及其图片叠加
  13. NetSetMan特别版 网络地址切换工具
  14. excel公式里用html,Excel公式中{}是什么意思?要如何用?
  15. [杀形态验证]3D准确率达98
  16. 拳皇java_拳皇(Java简单的小程序)代码实例
  17. codeforces B. Ternary Sequence
  18. 正在学习C++的屑人麻了
  19. spoj 1811 LCS 后缀自动机
  20. 参考文献的类型--参考文献里的J、M等字母都代表什么

热门文章

  1. JAVAWeb开发之Servlet-18.Servlet共享变量与变量的作用域
  2. findmnt-寻找挂载的文件系统
  3. JAVA 基于websocket实时通信的实现—GoEasy
  4. SonicWALL防火墙初探
  5. sybase相关的知识
  6. jquery基础使用!
  7. 《计算机基础知识REVIEW》の操作系统---存储管理
  8. 在Code-Behind中操作WebUserControl
  9. 为什么要进行URL编码!!!
  10. CTO:不要在代码中写 set/get 方法了,逮一次罚款...