安装Redis Cluster集群过程
1.安装Ruby环境
redis集群需要使用集群管理脚本redis-trib.rb,它的执行相应依赖ruby环境。
- 第一步:安装ruby
yum install ruby
yum install rubygems - 安装ruby和redis的接口程序redis-3.3.5.gem
gem install redis -v 3.3.5 - 复制redis-3.2.9/src/redis-trib.rb文件到/usr/local/redis-cluster目录
cp redis-3.2.9/src/redis-trib.rb /usr/local/redis-cluster/ -r
2.安装Redis集群(RedisCluster)
Redis集群最少需要三台主服务器,三台从服务器。
创建7001-7006实例,即拷贝单机版安装时,生成的bin目录,为7001目录。端口号分别为:7001-7006
- 创建7001实例,并编辑redis.conf文件,修改port为7001。
- 编辑redis.conf文件,修改cluster-enable为yes。
- 复制7001,创建7002~7006实例,注意端口修改。
- 启动所有的实例(在各自实例下,执行./redis-server redis.conf)
- 创建Redis集群
./redis-trib.rb create --replicas 1 192.168.137.128:7001 192.168.137.128:7002 192.168.137.128:7003 192.168.137.128:7004 192.168.137.128:7005 192.168.137.128:7006
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.137.128:7001
192.168.137.128:7002
192.168.137.128:7003
Adding replica 192.168.137.128:7004 to 192.168.137.128:7001
Adding replica 192.168.137.128:7005 to 192.168.137.128:7002
Adding replica 192.168.137.128:7006 to 192.168.137.128:7003
M: 0c428a15575be2e5bd794e9e3806576301920ab3 192.168.137.128:7001
slots:0-5460 (5461 slots) master
M: b6c02a7d48554c6eaccf733c42c90c69507a9e3e 192.168.137.128:7002
slots:5461-10922 (5462 slots) master
M: 3a631a4d0aacd4cfebc8ba557f06de822a5c0d50 192.168.137.128:7003
slots:10923-16383 (5461 slots) master
S: 63bfb014482d9bf67e998201470f887c73e3f319 192.168.137.128:7004
replicates 0c428a15575be2e5bd794e9e3806576301920ab3
S: a01cdd7ea3591148e638fca246794c75bd37c2d2 192.168.137.128:7005
replicates b6c02a7d48554c6eaccf733c42c90c69507a9e3e
S: 732b8a9d60ceb6e894dcb9ad3add20302412fbf8 192.168.137.128:7006
replicates 3a631a4d0aacd4cfebc8ba557f06de822a5c0d50
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.137.128:7001)
M: 0c428a15575be2e5bd794e9e3806576301920ab3 192.168.137.128:7001
slots:0-5460 (5461 slots) master
1 additional replica(s)
M: 3a631a4d0aacd4cfebc8ba557f06de822a5c0d50 192.168.137.128:7003
slots:10923-16383 (5461 slots) master
1 additional replica(s)
S: 63bfb014482d9bf67e998201470f887c73e3f319 192.168.137.128:7004
slots: (0 slots) slave
replicates 0c428a15575be2e5bd794e9e3806576301920ab3
M: b6c02a7d48554c6eaccf733c42c90c69507a9e3e 192.168.137.128:7002
slots:5461-10922 (5462 slots) master
1 additional replica(s)
S: 732b8a9d60ceb6e894dcb9ad3add20302412fbf8 192.168.137.128:7006
slots: (0 slots) slave
replicates 3a631a4d0aacd4cfebc8ba557f06de822a5c0d50
S: a01cdd7ea3591148e638fca246794c75bd37c2d2 192.168.137.128:7005
slots: (0 slots) slave
replicates b6c02a7d48554c6eaccf733c42c90c69507a9e3e
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
3.命令客户端连接集群
指定端口以集群的方式查看登陆:
./redis-cli -p 7001 -c
[root@localhost 7001]# ./redis-cli -p 7001 -c
127.0.0.1:7001> set name yalong
-> Redirected to slot [5798] located at 192.168.137.128:7002
OK
192.168.137.128:7002> get name
"yalong"
192.168.137.128:7002>
可见,在主节点1登陆设置key值存储到了主节点2中,在其他节点也能获取到value值。