用redis-trib.rb搭建redis集群

1,准备ruby环境

安装ruby

1
2
3
4
5
6
7
8
9
  wget https: //cache .ruby-lang.org /pub/ruby/2 .4 /ruby-2 .4.1. tar .gz
  tar  xvf ruby-2.4.1. tar .gz 
  cd  ruby-2.4.1. tar .gz
  cd  ruby-2.4.1
  . /configure  --prefix= /usr/local/ruby
  make
  make  install
  cp  bin /ruby  /usr/local/bin/
  cp  bin /gem  /usr/local/bin/

 

安装rubygem redis依赖:

1
2
3
  wget http: //rubygems .org /downloads/redis-3 .3.0.gem
  gem  install  -l redis-3.3.0.gem 
  gem list |  grep  redis

 

安装redis-trib.rb:

1
cp  /opt/redis/redis-3 .2.4 /src/redis-trib .rb  /usr/local/bin/

/opt/redis/redis-3.2.4/目录对应的redis源码包解压目录


2,准备集群节点

在普通redis配置文件中加上这三项即可:

1
2
3
cluster-enabled  yes   #开启群集模式
cluster-node-timeout 15000   #节点超时时间,单位为毫秒
cluster-config- file  "nodes-6379.conf"   #指定集群内部的配置文件
1
2
3
4
5
6
7
ll  /data/app/redis3 .2.4 /conf
-rw-r--r--. 1 root  root  2229 Jul 11 01:50 redis_6479.conf
-rw-r--r--. 1 root  root  2229 Jul 11 01:50 redis_6480.conf
-rw-r--r--. 1 root  root  2229 Jul 11 01:51 redis_6481.conf
-rw-r--r--. 1 root  root  2229 Jul 11 01:51 redis_6482.conf
-rw-r--r--. 1 root  root  2229 Jul 11 01:51 redis_6483.conf
-rw-r--r--. 1 root  root  2229 Jul 11 01:51 redis_6484.conf


启动节点:

1
2
3
4
5
6
redis-server redis_6479.conf
redis-server redis_6480.conf
redis-server redis_6481.conf
redis-server redis_6482.conf
redis-server redis_6483.conf
redis-server redis_6484.conf


3,创建集群

1
redis-trib.rb create --replicas 1 127.0.0.1:6479 127.0.0.1:6480 127.0.0.1:6481 127.0.0.1:6482 127.0.0.1:6483 127.0.0.1:6484

# --replicas 1 代表每个主节点配置多少个从节点


>>> Creating cluster

/usr/local/ruby/lib/ruby/gems/2.4.0/gems/redis-3.3.0/lib/redis/client.rb:459: warning: constant ::Fixnum is deprecated

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

Using 3 masters:

127.0.0.1:6479

127.0.0.1:6480

127.0.0.1:6481

Adding replica 127.0.0.1:6482 to 127.0.0.1:6479

Adding replica 127.0.0.1:6483 to 127.0.0.1:6480

Adding replica 127.0.0.1:6484 to 127.0.0.1:6481

M: 78581cf153d821c734c238d00f4de264fc95072e 127.0.0.1:6479

   slots:0-5460 (5461 slots) master

M: d0d4a89f567aed7caa4b87e78be2b6b1b86d02d3 127.0.0.1:6480

   slots:5461-10922 (5462 slots) master

M: e71eae6b79e529997fb7716da6d20be68e76830d 127.0.0.1:6481

   slots:10923-16383 (5461 slots) master

S: cd2f4e96f575b7b84d48144e832bf7cd6fcd8fc1 127.0.0.1:6482

   replicates 78581cf153d821c734c238d00f4de264fc95072e

S: 89e54b0f1fd33adf5ef624104e7d17bb93785b3d 127.0.0.1:6483

   replicates d0d4a89f567aed7caa4b87e78be2b6b1b86d02d3

S: b1ad93513254bb6bcb3cc6166afc7d4a89458802 127.0.0.1:6484

   replicates e71eae6b79e529997fb7716da6d20be68e76830d

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 127.0.0.1:6479)

M: 78581cf153d821c734c238d00f4de264fc95072e 127.0.0.1:6479

   slots:0-5460 (5461 slots) master

   1 additional replica(s)

S: cd2f4e96f575b7b84d48144e832bf7cd6fcd8fc1 127.0.0.1:6482

   slots: (0 slots) slave

   replicates 78581cf153d821c734c238d00f4de264fc95072e

S: b1ad93513254bb6bcb3cc6166afc7d4a89458802 127.0.0.1:6484

   slots: (0 slots) slave

   replicates e71eae6b79e529997fb7716da6d20be68e76830d

M: d0d4a89f567aed7caa4b87e78be2b6b1b86d02d3 127.0.0.1:6480

   slots:5461-10922 (5462 slots) master

   1 additional replica(s)

M: e71eae6b79e529997fb7716da6d20be68e76830d 127.0.0.1:6481

   slots:10923-16383 (5461 slots) master

   1 additional replica(s)

S: 89e54b0f1fd33adf5ef624104e7d17bb93785b3d 127.0.0.1:6483

   slots: (0 slots) slave

   replicates d0d4a89f567aed7caa4b87e78be2b6b1b86d02d3

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.



4,集群完整性检查

1
redis-trib.rb check 127.0.0.1:6479

/usr/local/ruby/lib/ruby/gems/2.4.0/gems/redis-3.3.0/lib/redis/client.rb:459: warning: constant ::Fixnum is deprecated

>>> Performing Cluster Check (using node 127.0.0.1:6479)

M: 78581cf153d821c734c238d00f4de264fc95072e 127.0.0.1:6479

   slots:0-5460 (5461 slots) master

   1 additional replica(s)

S: cd2f4e96f575b7b84d48144e832bf7cd6fcd8fc1 127.0.0.1:6482

   slots: (0 slots) slave

   replicates 78581cf153d821c734c238d00f4de264fc95072e

S: b1ad93513254bb6bcb3cc6166afc7d4a89458802 127.0.0.1:6484

   slots: (0 slots) slave

   replicates e71eae6b79e529997fb7716da6d20be68e76830d

M: d0d4a89f567aed7caa4b87e78be2b6b1b86d02d3 127.0.0.1:6480

   slots:5461-10922 (5462 slots) master

   1 additional replica(s)

M: e71eae6b79e529997fb7716da6d20be68e76830d 127.0.0.1:6481

   slots:10923-16383 (5461 slots) master

   1 additional replica(s)

S: 89e54b0f1fd33adf5ef624104e7d17bb93785b3d 127.0.0.1:6483

   slots: (0 slots) slave

   replicates d0d4a89f567aed7caa4b87e78be2b6b1b86d02d3

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

当看到时代表集群所有的槽位都已经分配出去。


本文转自 emma_cql 51CTO博客,原文链接:http://blog.51cto.com/chenql/1947291


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值