这篇文章是接上一章环境下的继续。
#首先进入redis目录
$ cd /usr/local/redis-4.0.6
#创建6个文件夹分别是 7001 7002 7003 7004 7005 7006 代表6个redis服务
$ mkdir 7001 7002 7003 7004 7005 7006
#复制 redis.conf文件到这6个文件夹中
$ cp redis.conf 7001
$ cp redis.conf 7002
$ cp redis.conf 7003
$ cp redis.conf 7004
$ cp redis.conf 7005
$ cp redis.conf 7006
#分别修改以上6个文件夹中的redis.conf,修改最少项目如下
port 7001 # 端口号修改对应文件夹名称
dir ./7001/ # 目录修改对应文件夹名称
cluster-enabled yes # 启用集群
appendonly yes # 启用aof数据文件
daemonize yes #设置为 redis后台运行(守护进程)
#修改后分别启动7001-7006
$ src/redis-server ./7001/redis.conf
$ src/redis-server ./7002/redis.conf
$ src/redis-server ./7003/redis.conf
$ src/redis-server ./7004/redis.conf
$ src/redis-server ./7005/redis.conf
$ src/redis-server ./7006/redis.conf
#如果启动成功接下来我们需要安装ruby。在centos7中默认ruby是2.0.0版本,低于redis4.0.6的最低要求的2.2版本,所以需要进行升级。
先安装rubygems,在安装rvm 更新ruby
$ yum install rubygems
#redis与ruby的接口
$ gem install redis
#这个时候我们可以创建集群了
$ src/redis-trib.rb create --replicas 1 192.168.1.7:7001 192.168.1.7:7002 192.168.1.7:7003 192.168.1.7:7004 192.168.1.7:7005 192.168.1.7:7006
下面是打印的集群信息。
[root@192 redis-4.0.6]# src/redis-trib.rb create --replicas 1 192.168.1.7:7001 192.168.1.7:7002 192.168.1.7:7003 192.168.1.7:7004 192.168.1.7:7005 192.168.1.7:7006
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.1.7:7001
192.168.1.7:7002
192.168.1.7:7003
Adding replica 192.168.1.7:7004 to 192.168.1.7:7001
Adding replica 192.168.1.7:7005 to 192.168.1.7:7002
Adding replica 192.168.1.7:7006 to 192.168.1.7:7003
M: 717ca3ce43f113616687dd57d1ba97862aaa3a2f 192.168.1.7:7001 slots:0-5460 (5461 slots) master
M: add471e5da784f9419a59c235d68b15d9247e4f4 192.168.1.7:7002 slots:5461-10922 (5462 slots) master
M: f69c469c9c17088ad147e90414547fde59ff0f7a 192.168.1.7:7003 slots:10923-16383 (5461 slots) master
S: 4ff2e2d61c0ee006f2c9f12db33c58e235ac66ec 192.168.1.7:7004 replicates 717ca3ce43f113616687dd57d1ba97862aaa3a2f
S: d94fe5e79649e05910dc3fd6d9f0e25ccedaf400 192.168.1.7:7005 replicates add471e5da784f9419a59c235d68b15d9247e4f4
S: 4fd17ea87695b5f8d5cacaa964be204c472e59af 192.168.1.7:7006 replicates f69c469c9c17088ad147e90414547fde59ff0f7a
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.7:7001)
M: 717ca3ce43f113616687dd57d1ba97862aaa3a2f 192.168.1.7:7001 slots:0-5460 (5461 slots) master 1 additional replica(s)
S: 4ff2e2d61c0ee006f2c9f12db33c58e235ac66ec 192.168.1.7:7004 slots: (0 slots) slave replicates 717ca3ce43f113616687dd57d1ba97862aaa3a2f
S: d94fe5e79649e05910dc3fd6d9f0e25ccedaf400 192.168.1.7:7005 slots: (0 slots) slave replicates add471e5da784f9419a59c235d68b15d9247e4f4
M: add471e5da784f9419a59c235d68b15d9247e4f4 192.168.1.7:7002 slots:5461-10922 (5462 slots) master 1 additional replica(s)
M: f69c469c9c17088ad147e90414547fde59ff0f7a 192.168.1.7:7003 slots:10923-16383 (5461 slots) master 1 additional replica(s)
S: 4fd17ea87695b5f8d5cacaa964be204c472e59af 192.168.1.7:7006 slots: (0 slots) slave replicates f69c469c9c17088ad147e90414547fde59ff0f7a
[OK] All nodes agree about slots configuration.>>> Check for open slots...>>> Check slots coverage...
[OK] All 16384 slots covered.
#查看集群状态
$ src/redis-trib.rb check 192.168.1.7 7001
测试
#连接集群连接的IP可以是集群中的任何一个
$ src/redis-cli -c -h 192.168.1.7 -p 7001
我们在7001设置了一个foo,在7003可以get出来。
注意:本文归作者所有,未经作者允许,不得转载