zoukankan      html  css  js  c++  java
  • redis集群中的主从复制架构(3主3从)

    架构图如下

    首先开启6个实例,这里为了演示方便,只是在一个linux上开启了6redis实例

    6380 (主)   6480 (从)

    6381(主)   6481(从)  

    6382(主)   6482(从)

    创建6个文件夹

     拷贝redis.conf到这6个文件夹下面

    修改相关配置参数

    port 6380

    pidfile /var/run/redis_6380.pid

    取消注释 并修改nodes-xxx为对应的端口号

     

    修改dir为对应的工作目录

    开启6个实例

    因为redis-trib.rb是有ruby语言编写的所以需要安装ruby环境。

    通过以下方式安装:

    yum -y install zlib ruby rubygems

    gem install redis

    创建集群

    redis的安装目录下

    redis-3.2.10/src

    执行(注意 整句命令不能有回车

    ./redis-trib.rb create --replicas 1 192.168.0.116:6382 192.168.0.116:6380 192.168.0.116:6381 192.168.0.116:6480 192.168.0.116:6481 192.168.0.116:6482

    【--replicas 1:指定了从数据的数量为1】

    以下是执行命令后的界面:::

    [root@localhost src]$ ./redis-trib.rb create --replicas 1 192.168.0.116:6382 192.168.0.116:6380 192.168.0.116:6381 192.168.0.116:6480 192.168.0.116:6481 192.168.0.116:6482

    >>> Creating cluster

    >>> Performing hash slots allocation on 6 nodes...

    Using 3 masters:

    192.168.0.116:6382

    192.168.0.116:6380

    192.168.0.116:6381

    Adding replica 192.168.0.116:6480 to 192.168.0.116:6382

    Adding replica 192.168.0.116:6481 to 192.168.0.116:6380

    Adding replica 192.168.0.116:6482 to 192.168.0.116:6381

    M: b178d2d995737c7f7327e9717dda9203057dc4e0 192.168.0.116:6382

       slots:0-5460 (5461 slots) master

    M: 44a8ddca110eccf27bb42a9ff3934c6cd989c5b3 192.168.0.116:6380

       slots:5461-10922 (5462 slots) master

    M: f6a3009c4441478a99c2787d0c283383cfd2b9fc 192.168.0.116:6381

       slots:10923-16383 (5461 slots) master

    S: d30b12f6b97a731e2953a5d3166609dc4e59abc9 192.168.0.116:6480

       replicates b178d2d995737c7f7327e9717dda9203057dc4e0

    S: 12e1d48b3b0b266eff17d3a707a8f49163f60420 192.168.0.116:6481

       replicates 44a8ddca110eccf27bb42a9ff3934c6cd989c5b3

    S: 18b881258bf48a20761bf38c34d13828a0e25032 192.168.0.116:6482

       replicates f6a3009c4441478a99c2787d0c283383cfd2b9fc

    Can I set the above configuration? (type 'yes' to accept): yes

    输入yes 就创建成功了

     

    测试 ,这里我们kill掉  master 6381 

    可以看到 集群依然正常,6482变成master

     使用集群需要注意的事项

    1、多键的命令操作(如MGETMSET),如果每个键都位于同一个节点,则可以正常支持,否则会提示错误。

    2、集群中的节点只能使用0号数据库,如果执行SELECT切换数据库会提示错误。

    3 、集群安装需要ruby环境,请注意配置

     

  • 相关阅读:
    记录一次使用npm包管理器的过程
    Markdown---锚点
    Tomcat应用部署
    记录项目中使用SoapUI进行webservice接口测试
    python--使用logging库自定义日志输出
    python--configparser库处理配置文件
    python--excel操作插件openpyxl
    python--使用pycharm调试代码
    【云剪贴板】你不要点开啊!!!!
    【每天一个爆零小技巧】个人用的程序小技巧及其他_自用
  • 原文地址:https://www.cnblogs.com/javabigdata/p/7412775.html
Copyright © 2011-2022 走看看