redis 3.0 cluster 要点

因为是实验性质,所以我是使用一个虚拟机创建了6个redis实例.

分别是运行在本机的7001,7002,7003,7004,7005,7006 6个端口上,为3主3从结构


1.创建redis-cluster文件夹:

mkdir -p /usr/local/redis-cluster/

2.创建每个节点的目录

mkdir 7001 7002 7003 7004 7005 7006

3.修改 redis.conf
700x这些是根据不同节点的名字来的,如果是是7002的节点,那么端口号也要是7002,以此类推

port 7001

daemonize yes

dir /usr/local/redis-cluster/7001

appendonly yes

cluster-enabled yes

cluster-config-file nodes-7001.conf

cluster-node-timeout 15000

4.copy redis.conf到每个节点的文件夹内,建议用vi的 :%s/7001/700x/g 来整天替换里面的端口和文件夹信息这样效率会比较高

copy /usr/local/redis-cluster/7001/redis.conf  ../7002 ../7003 ../7004 ../7005 ../7006

5.启动每个redis 实例

    /usr/local/redis/bin/redis-server  /usr/local/redis-cluster/7001/redis.conf 
    /usr/local/redis/bin/redis-server  /usr/local/redis-cluster/7002/redis.conf 
    /usr/local/redis/bin/redis-server  /usr/local/redis-cluster/7003/redis.conf 
    /usr/local/redis/bin/redis-server  /usr/local/redis-cluster/7004/redis.conf 
    /usr/local/redis/bin/redis-server  /usr/local/redis-cluster/7005/redis.conf 
    /usr/local/redis/bin/redis-server  /usr/local/redis-cluster/7006/redis.conf 

6.安装ruby和rubygems,并安装ruby的redis扩展

apt-get install ruby
apt-get install rubygems 
gem install redis

7.启动cluster设置,在redis的编译文件夹里,找到 redis-trib.rb

./redis-trib.rb create --replicas 1 1.1.1.2:7001 1.1.1.2:7002 1.1.1.2:7003 1.1.1.2:7004 1.1.1.2:7005 1.1.1.2:7006

命令显示

>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
1.1.1.2:7001
1.1.1.2:7002
1.1.1.2:7003
Adding replica 1.1.1.2:7004 to 1.1.1.2:7001
Adding replica 1.1.1.2:7005 to 1.1.1.2:7002
Adding replica 1.1.1.2:7006 to 1.1.1.2:7003
M: c71b628db058d5b7907c91491aa33ed16a76ad66 1.1.1.2:7001
   slots:0-5460 (5461 slots) master
M: 9ce1d76fe3fac744466088050e227859d88875cd 1.1.1.2:7002
   slots:5461-10922 (5462 slots) master
M: fdf06f99b9ae32fbbddc8b3e196659487dfccf6f 1.1.1.2:7003
   slots:10923-16383 (5461 slots) master
S: 70670e2a0c7f212306582836b4acf58aae9897f0 1.1.1.2:7004
   replicates c71b628db058d5b7907c91491aa33ed16a76ad66
S: 70c02ebfe21fd9de0fe47b0fce4887657babbe21 1.1.1.2:7005
   replicates 9ce1d76fe3fac744466088050e227859d88875cd
S: eb0b49e4de19a9af2bf672d579e71e98c5169c7a 1.1.1.2:7006
   replicates fdf06f99b9ae32fbbddc8b3e196659487dfccf6f
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 1.1.1.2:7001)
M: c71b628db058d5b7907c91491aa33ed16a76ad66 1.1.1.2:7001
   slots:0-5460 (5461 slots) master
M: 9ce1d76fe3fac744466088050e227859d88875cd 1.1.1.2:7002
   slots:5461-10922 (5462 slots) master
M: fdf06f99b9ae32fbbddc8b3e196659487dfccf6f 1.1.1.2:7003
   slots:10923-16383 (5461 slots) master
M: 70670e2a0c7f212306582836b4acf58aae9897f0 1.1.1.2:7004
   slots: (0 slots) master
   replicates c71b628db058d5b7907c91491aa33ed16a76ad66
M: 70c02ebfe21fd9de0fe47b0fce4887657babbe21 1.1.1.2:7005
   slots: (0 slots) master
   replicates 9ce1d76fe3fac744466088050e227859d88875cd
M: eb0b49e4de19a9af2bf672d579e71e98c5169c7a 1.1.1.2:7006
   slots: (0 slots) master
   replicates fdf06f99b9ae32fbbddc8b3e196659487dfccf6f
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

创建OK了


8.登陆

redis-cli -c -h 1.1.1.2 -p 7003

输入

CLUSTER nodes

##显示如下信息

eb0b49e4de19a9af2bf672d579e71e98c5169c7a 1.1.1.2:7006 slave fdf06f99b9ae32fbbddc8b3e196659487dfccf6f 0 1473577533840 6 connected
fdf06f99b9ae32fbbddc8b3e196659487dfccf6f 1.1.1.2:7003 myself,master - 0 0 3 connected 10923-16383
70670e2a0c7f212306582836b4acf58aae9897f0 1.1.1.2:7004 slave c71b628db058d5b7907c91491aa33ed16a76ad66 0 1473577535862 4 connected
70c02ebfe21fd9de0fe47b0fce4887657babbe21 1.1.1.2:7005 slave 9ce1d76fe3fac744466088050e227859d88875cd 0 1473577532827 5 connected
9ce1d76fe3fac744466088050e227859d88875cd 1.1.1.2:7002 master - 0 1473577531815 2 connected 5461-10922
c71b628db058d5b7907c91491aa33ed16a76ad66 1.1.1.2:7001 master - 0 1473577534851 1 connected 0-5460

9.在任何一台master上,set 一个数值,那么在其他节点上都可以get到,集群搭建成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值