zoukankan      html  css  js  c++  java
  • Redis集群(五):集群搭建

    一、本文目的
           演示在一台机器上搭建3主3从的redis集群,通过演示了解redis集群的搭建,使用和注意事项    

    二、搭建说明
           1、同一台机器搭建3主3从的伪集群
           2、使用端口7111~7116,集群端口为端口前+1,如果使用端口7111,则其集群通信端口为17111,
                 redis.config的配置如下:

    daemonizeportpidfilelogfilecluster-enabledcluster-config-filecluster-node-timeout
    7111yes 7111 /var/run/redis7111.pid"redis7111.log"yesnodes-7111.conf5000
    7112 yes 7112 /var/run/redis7112.pid "redis7112.log" yes nodes-7112.conf 5000
    7113 yes 7113 /var/run/redis7113.pid "redis7113.log" yes nodes-7113.conf 5000
    7114 yes 7114 /var/run/redis7114.pid "redis7114.log" yes nodes-7114.conf 5000
    7115 yes 7115 /var/run/redis7115.pid "redis7115.log" yes nodes-7115.conf 5000
    7115 yes 7116 /var/run/redis7116.pid "redis7116.log" yes nodes-7116.conf 5000
               3、需要打开7111~7116、17111~17116一共12个端口

    三、搭建过程
             1、安装搭建说明修改配置文件及打开所有端口,并启动6个redis               
              2、创建redis集群是使用ruby命令,故需要安装以下软件
    1
    2
    3
    4
    5
    6
    7
    8
    9
    安装 ruby 和 rubygems(注意: 需要 ruby 的版本在 1.8.7 以上)
    # yum install ruby rubygems
     
    检查 ruby 版本:
    # ruby -v
    ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]
     
    gem 安装 redis ruby 接口:
    # gem install redis

             3、执行创建集群的命令(可在任何一个redis的src目录下执行)

                     a) redis-trib.rb  创建集群的rube命令
                     b) create 创建集群

                     c)  replicas 每个master包含一个slaver

                     d) 192.168.146.131:7111 每个redis实例的ip+端口,每个实例根据空格分开

    1
    2
    3
    cd /usr/local/redis7111/src
     
    ./redis-trib.rb create replicas 1 192.168.146.131:7111 192.168.146.131:7112 192.168.146.131:7113 192.168.146.131:7114 192.168.146.131:7115 192.168.146.131:7116

                4、系统分配Master、Slaver集群关系


                       5、Slot插槽分配结果


    四、集群的测试
                  1、设置key 

                    2、 在另外一个集群机器上读取刚设置的key


                      3、查看集群间的关系、Master/Slaver之间的关系


     

    五、总结
    1. 集群中各台机器的配置信息一致,Master/Slaver关系是在创建集群时由系统分配
    2. redis集群公用16384个slot,分配给不同的Master
    3. 每个key最终都会位于某一个slot,读取key时会先转向到某一个slot,然后读取其中的值
    4. 新增集群或减少集群(如新增或减少Master)会重新分配slot
    5. 集群的Master/Slaver不知道怎么做容灾,自动切换等,等待进一步研究

    六、参考资料


     
     




  • 相关阅读:
    Android 2.2 r1 API 中文文档系列(11) —— RadioButton
    Android API 中文 (15) —— GridView
    Android 中文 API (16) —— AnalogClock
    Android2.2 API 中文文档系列(7) —— ImageButton
    Android2.2 API 中文文档系列(6) —— ImageView
    Android 2.2 r1 API 中文文档系列(12) —— Button
    Android2.2 API 中文文档系列(8) —— QuickContactBadge
    [Android1.5]TextView跑马灯效果
    [Android1.5]ActivityManager: [1] Killed am start n
    Android API 中文(14) —— ViewStub
  • 原文地址:https://www.cnblogs.com/gossip/p/5993401.html
Copyright © 2011-2022 走看看