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.
    
  • 相关阅读:
    基于element-ui图片封装组件
    计算时间间隔具体每一天
    C语言学习笔记 —— 函数作为参数
    AtCoder Beginner Contest 049 题解
    AtCoder Beginner Contest 048 题解
    AtCoder Beginner Contest 047 题解
    AtCoder Beginner Contest 046 题解
    AtCoder Beginner Contest 045 题解
    AtCoder Beginner Contest 044 题解
    AtCoder Beginner Contest 043 题解
  • 原文地址:https://www.cnblogs.com/Applogize/p/13462159.html
Copyright © 2011-2022 走看看