zoukankan      html  css  js  c++  java
  • 工具搭建redis集群

    1.环境准备

    节点 IP 端口
    节点1 172.16.1.51 6379,6380
    节点2 172.16.1.52 6379,6380
    节点3 172.16.1.53 6379,6380

    2.搭建redis(前面的章节都有)

    3.启动所有redis(前面的章节都有)

    4.安装集群插件

    # EPEL源安装ruby支持
    [root@db01 ~]# yum install ruby rubygems -y
    
    # 查看gem源
    [root@db01 ~]# gem sources -l
    *** CURRENT SOURCES ***
    
    http://rubygems.org/
    
    # 添加阿里云的gem源
    [root@db01 ~]# gem sources -a http://mirrors.aliyun.com/rubygems/
    http://mirrors.aliyun.com/rubygems/ added to sources 
    
    # 删除国外gem源
    [root@db01 ~]# gem sources  --remove https://rubygems.org/
    http://rubygems.org/ removed from sources
    
    # 再次查看gem源
    [root@db01 ~]# gem sources -l
    
    # 使用gem安装redis的ruby插件
    [root@db01 ~]# gem install redis -v 3.3.3
    Successfully installed redis-3.3.3
    1 gem installed
    Installing ri documentation for redis-3.3.3...
    Installing RDoc documentation for redis-3.3.3...
    

    5. redis-trib.rb命令

    [root@db01 ~]# redis-trib.rb 
    create			#创建一个集群
    check			#检查集群
    info			#集群状态
    fix			#修复集群
    reshard			#重新分配槽位
    rebalance		#平衡槽位数量
    add-node		#添加节点
    del-node		#删除节点
    set-timeout		#设置超时时间
    call			#向集群所有机器输入命令
    import			#导入数据
    help                    #帮助
    

    6.关联所有节点

    [root@db01 ~]# redis-trib.rb create --replicas 1 172.16.1.51:6379 172.16.1.52:6379 172.16.1.53:6379 172.16.1.52:6380 172.16.1.53:6380 172.16.1.51:6380 
    >>> Creating cluster
    >>> Performing hash slots allocation on 6 nodes...
    Using 3 masters:
    172.16.1.51:6379
    172.16.1.52:6379
    172.16.1.53:6379
    Adding replica 172.16.1.52:6380 to 172.16.1.51:6379
    Adding replica 172.16.1.51:6380 to 172.16.1.52:6379
    Adding replica 172.16.1.53:6380 to 172.16.1.53:6379
    M: 5ad7bd957133eac9c3a692b35f8ae72258cf0ece 172.16.1.51:6379
       slots:0-5460 (5461 slots) master
    M: 7c79559b280db9d9c182f3a25c718efe9e934fc7 172.16.1.52:6379
       slots:5461-10922 (5462 slots) master
    M: d27553035a3e91c78d375208c72b756e9b2523d4 172.16.1.53:6379
       slots:10923-16383 (5461 slots) master
    S: fee551a90c8646839f66fa0cd1f6e5859e9dd8e0 172.16.1.52:6380
       replicates 5ad7bd957133eac9c3a692b35f8ae72258cf0ece
    S: e4794215d9d3548e9c514c10626ce618be19ebfb 172.16.1.53:6380
       replicates d27553035a3e91c78d375208c72b756e9b2523d4
    S: 1d10edbc5ed08f85d2afc21cd338b023b9dd61b4 172.16.1.51:6380
       replicates 7c79559b280db9d9c182f3a25c718efe9e934fc7
    Can I set the above configuration? (type 'yes' to accept): yes   
    >>> Nodes configuration updated
    >>> Assign a different config epoch to each node
    >>> Sending CLUSTER MEET messages to join the cluster
    Waiting for the cluster to join...
    >>> Performing Cluster Check (using node 172.16.1.51:6379)
    M: 5ad7bd957133eac9c3a692b35f8ae72258cf0ece 172.16.1.51:6379
       slots:0-5460 (5461 slots) master
       1 additional replica(s)
    S: e4794215d9d3548e9c514c10626ce618be19ebfb 172.16.1.53:6380
       slots: (0 slots) slave
       replicates d27553035a3e91c78d375208c72b756e9b2523d4
    M: d27553035a3e91c78d375208c72b756e9b2523d4 172.16.1.53:6379
       slots:10923-16383 (5461 slots) master
       1 additional replica(s)
    S: fee551a90c8646839f66fa0cd1f6e5859e9dd8e0 172.16.1.52:6380
       slots: (0 slots) slave
       replicates 5ad7bd957133eac9c3a692b35f8ae72258cf0ece
    S: 1d10edbc5ed08f85d2afc21cd338b023b9dd61b4 172.16.1.51:6380
       slots: (0 slots) slave
       replicates 7c79559b280db9d9c182f3a25c718efe9e934fc7
    M: 7c79559b280db9d9c182f3a25c718efe9e934fc7 172.16.1.52:6379
       slots:5461-10922 (5462 slots) master
       1 additional replica(s)
    [OK] All nodes agree about slots configuration.
    >>> Check for open slots...
    >>> Check slots coverage...
    [OK] All 16384 slots covered.
    

    7.查看集群状态

    [root@db01 ~]# redis-cli -h 172.16.1.51 -p 6379 CLUSTER NODES
    e4794215d9d3548e9c514c10626ce618be19ebfb 172.16.1.53:6380 slave d27553035a3e91c78d375208c72b756e9b2523d4 0 1596767315453 5 connected
    d27553035a3e91c78d375208c72b756e9b2523d4 172.16.1.53:6379 master - 0 1596767315453 3 connected 10923-16383
    5ad7bd957133eac9c3a692b35f8ae72258cf0ece 172.16.1.51:6379 myself,master - 0 0 1 connected 0-5460
    fee551a90c8646839f66fa0cd1f6e5859e9dd8e0 172.16.1.52:6380 slave 5ad7bd957133eac9c3a692b35f8ae72258cf0ece 0 1596767313429 4 connected
    1d10edbc5ed08f85d2afc21cd338b023b9dd61b4 172.16.1.51:6380 slave 7c79559b280db9d9c182f3a25c718efe9e934fc7 0 1596767313935 6 connected
    7c79559b280db9d9c182f3a25c718efe9e934fc7 172.16.1.52:6379 master - 0 1596767314949 2 connected 5461-10922
    

    8.重新做主从

    #####由于使用工具,始终有一台机器从库本机的从库,所以要重新分配主从#####
    172.16.1.52:6380> CLUSTER REPLICATE d27553035a3e91c78d375208c72b756e9b2523d4
    OK ###52的6380端口做到53上####
    172.16.1.53:6380> CLUSTER REPLICATE 5ad7bd957133eac9c3a692b35f8ae72258cf0ece
    OK ###53的6380端口做到51上####
    

    9.插入数据测试

    [root@db01 ~]# redis-trib.rb info 172.16.1.52:6379
    172.16.1.52:6379 (7c79559b...) -> 332 keys | 5462 slots | 1 slaves.
    172.16.1.51:6379 (5ad7bd95...) -> 341 keys | 5461 slots | 1 slaves.
    172.16.1.53:6379 (d2755303...) -> 327 keys | 5461 slots | 1 slaves.
    [OK] 1000 keys in 3 masters.
    0.06 keys per slot on average.
    
    [root@db01 ~]# redis-trib.rb info 172.16.1.52:6379
    172.16.1.52:6379 (7c79559b...) -> 661 keys | 5462 slots | 1 slaves.
    172.16.1.51:6379 (5ad7bd95...) -> 674 keys | 5461 slots | 1 slaves.
    172.16.1.53:6379 (d2755303...) -> 665 keys | 5461 slots | 1 slaves.
    [OK] 2000 keys in 3 masters.
    0.12 keys per slot on average.
    
  • 相关阅读:
    WordPress插入图片无法居中的解决方法
    wordpress文章显示同一分类下的上一篇下一篇
    git4
    git3
    git2
    git1
    百度地图vue版本标记点拖拽事件传参问题
    postcss-plugin-px2rem的使用
    保留小数位toFixed()方法的怪异表现
    大公司是怎样开发和部署前端代码(转张云龙大神的回答)
  • 原文地址:https://www.cnblogs.com/Applogize/p/13462159.html
Copyright © 2011-2022 走看看