zoukankan      html  css  js  c++  java
  • redis哨兵配置和redis-cluster搭建

    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集群到此完毕

  • 相关阅读:
    1438.最小公倍数
    1441.人见人爱A^B
    1083.特殊乘法
    1153.括号匹配
    1089.数字翻转
    1042.coincidence(动态规划求最长公共子序列)
    图的m着色问题pascal程序
    最佳调度问题pascal程序
    试卷批分打表程序
    迷宫问题pascal程序
  • 原文地址:https://www.cnblogs.com/Wj-Li/p/10864905.html
Copyright © 2011-2022 走看看