单机版Redis集群

1 安装包下载
http://download.redis.io/releases/ 下载redis的压缩包
2 解压
3 安装
[root@server0 ~]# cd /usr/local/src/redis-3.0.7
[root@server0 redis-3.0.7]#make PREFIX=/usr/local/redis/ install
[root@server0 redis-3.0.7]#cp redis.conf /usr/local/redis/bin/
4 改配置文件
修改redis.conf的daemonize的no为yes
5 安装ruby环境
[root@server0 redis-3.0.7]#yum install ruby
[root@server0 redis-3.0.7]#yum install rubygems
下载redis-3.0.0.gem
[root@server0 redis-3.0.7]#gem install /usr/local/redis-3.0.0.gem
6 规划
这里在同一台服务器用不同的端口表示不同的redis服务器,如下:
主节点:192.168.1.111:7001 192.168.1.111:7002 192.168.1.111:7003
从节点:192.168.1.111:7004 192.168.1.111:7005 192.168.1.111:7006
在/usr/local下创建redis-cluster目录,其下创建7001、7002至7006目录
7 将redis安装目录/usr/local/redis/下的bin目录下的文件拷贝到每个700X目录内
8 修改每个700X目录里的redis.conf配置文件
注意位置:

...
port 7001
...
logfile "/var/log/redis7001.log"
...
cluster-enabled yes
...
cluster-config-file nodes-7001.conf
...

其余5个配置文件修改类似
9 将redis源码目录src下的redis-trib.rb拷贝到redis-cluster目录下
[root@server0 redis-cluster]# cp /usr/local/redis-3.0.7/src/redis-trib.rb /usr/local/redis-cluster/
10 使用后台启动的方式启动每个redis
[root@server0 redis-cluster]# for i in {1..6};do /usr/local/redis-cluster/700$i/redis-server /usr/local/redis-cluster/700$i/redis.conf;done
11 执行redis-trib.rb,此脚本是ruby脚本,它依赖ruby环境

[root@server0 redis-cluster]# ./redis-trib.rb create --replicas 1 192.168.1.111:7001 192.168.1.111:7002 192.168.1.111:7003 192.168.1.111:7004 192.168.1.111:7005 192.168.1.111:7006
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.1.111:7001
192.168.1.111:7002
192.168.1.111:7003
Adding replica 192.168.1.111:7004 to 192.168.1.111:7001
Adding replica 192.168.1.111:7005 to 192.168.1.111:7002
Adding replica 192.168.1.111:7006 to 192.168.1.111:7003
M: b5f56c29714a59d04fe6c103f8091935bf641b6f 192.168.1.111:7001
   slots:0-5460 (5461 slots) master
M: 8002d4ff883b27034e31744b6984d5dd330b41c9 192.168.1.111:7002
   slots:5461-10922 (5462 slots) master
M: 708e97326a97a12e29a93e247dbab6a0d52c9807 192.168.1.111:7003
   slots:10923-16383 (5461 slots) master
S: a08c9b334070a3ea524a97c610366562f519f897 192.168.1.111:7004
   replicates b5f56c29714a59d04fe6c103f8091935bf641b6f
S: a4577426713df7e3e7966815241fc2da23571ea2 192.168.1.111:7005
   replicates 8002d4ff883b27034e31744b6984d5dd330b41c9
S: bfa734a8bdc850598ef9af1dd3f1e8d8acaec2c7 192.168.1.111:7006
   replicates 708e97326a97a12e29a93e247dbab6a0d52c9807
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 192.168.1.111:7001)
M: b5f56c29714a59d04fe6c103f8091935bf641b6f 192.168.1.111:7001
   slots:0-5460 (5461 slots) master
M: 8002d4ff883b27034e31744b6984d5dd330b41c9 192.168.1.111:7002
   slots:5461-10922 (5462 slots) master
M: 708e97326a97a12e29a93e247dbab6a0d52c9807 192.168.1.111:7003
   slots:10923-16383 (5461 slots) master
M: a08c9b334070a3ea524a97c610366562f519f897 192.168.1.111:7004
   slots: (0 slots) master
   replicates b5f56c29714a59d04fe6c103f8091935bf641b6f
M: a4577426713df7e3e7966815241fc2da23571ea2 192.168.1.111:7005
   slots: (0 slots) master
   replicates 8002d4ff883b27034e31744b6984d5dd330b41c9
M: bfa734a8bdc850598ef9af1dd3f1e8d8acaec2c7 192.168.1.111:7006
   slots: (0 slots) master
   replicates 708e97326a97a12e29a93e247dbab6a0d52c9807
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

12 使用客户端进行链接测试

[root@server0 redis-cluster]# ./7001/redis-cli -h 192.168.1.111 -p 7002 -c
192.168.1.111:7002> pING
PONG
192.168.1.111:7002> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:2
cluster_stats_messages_sent:117
cluster_stats_messages_received:117
192.168.1.111:7002> quit

参考文章:
http://www.codeceo.com/article/redis-cluster-config.html
http://blog.csdn.net/myrainblues/article/details/25881535/
http://blog.csdn.net/u011204847/article/details/51307044

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值