redis集群的搭建

来源:互联网 发布:重庆警方破获网络诈骗 编辑:程序博客网 时间:2024/06/06 01:07

由于电脑配置不够,就在一个虚拟机上装了8台Redis前提是得把每一台的端口号修改掉保证不一样,我先创建了六台Redis的集群。剩余两台留着下面的添加主集群和从集群。

一、启动集群所需的六台Redis

[root@localhost clusterRedis]# cd 7001/bin/
[root@localhost bin]# ./redis-server redis.conf 
[root@localhost bin]# cd ..
[root@localhost 7001]# cd ..
[root@localhost clusterRedis]# cd 7002/bin/
[root@localhost bin]# ./redis-se
redis-sentinel  redis-server    
[root@localhost bin]# ./redis-server redis.conf 
[root@localhost bin]# cd ../../
[root@localhost clusterRedis]# cd 7003/bin/
[root@localhost bin]# ./redis-server redis.conf 
[root@localhost bin]# cd ..
[root@localhost 7003]# cd ..
[root@localhost clusterRedis]# cd 7004/bin/
[root@localhost bin]# ./redis-server redis.conf 
[root@localhost bin]# cd ..
[root@localhost 7004]# cd ..
[root@localhost clusterRedis]# cd 7005/bin/
[root@localhost bin]# ./redis-server redis.conf 
[root@localhost bin]# cd ..
[root@localhost 7005]# cd ..
[root@localhost clusterRedis]# cd 7006/bin/
[root@localhost bin]# ./redis-server redis.conf 

[root@localhost bin]# ps -ef | grep redis


root      6330     1  0 19:21 ?        00:00:06 ./redis-server *:6379    
root      6532     1  0 20:18 ?        00:00:00 ./redis-server *:7001 [cluster]
root      6536     1  0 20:18 ?        00:00:00 ./redis-server *:7002 [cluster]
root      6541     1  0 20:18 ?        00:00:00 ./redis-server *:7003 [cluster]
root      6545     1  0 20:18 ?        00:00:00 ./redis-server *:7004 [cluster]
root      6549     1  0 20:19 ?        00:00:00 ./redis-server *:7005 [cluster]
root      6553     1  0 20:19 ?        00:00:00 ./redis-server *:7006 [cluster]
root      6557  1933  0 20:19 pts/0    00:00:00 grep redis


二、创建集群
命令:./redis-trib.rb create --replicas 1 192.168.224.129:7001 192.168.224.129:7002 192.168.224.129:7003 192.168.224.129:7004 


192.168.224.129:7005  192.168.224.129:7006
  redis-trib.rb:创建集群插件
create:插件命令,创建集群
--replicas 1:每一个服务器必须至少有一个备份服务器


查看集群信息:先登录集群,才能查询
登录命令:./redis-cli -c -h 192.168.224.129 -p 7001 --raw
查看集群运行状态:
192.168.224.129:7001> 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:1
cluster_stats_messages_sent:229
cluster_stats_messages_received:229
查看集群节点信息:
命令:cluster nodes
192.168.66.66:7001> cluster nodes
789c96a262d9a4c2c3523b886109cd23ab0fae3c 192.168.224.129:7002 master - 0 1488630409874 2 connected 5461-10922
1bb679eee0152d6d4ad498525ed66ff8bead1c1d 192.168.224.129:7006 slave 1faa2ea7981e5585cf114140b128f077efa40a94 0 1488630406794 6 connected
1faa2ea7981e5585cf114140b128f077efa40a94 192.168.224.129:7003 master - 0 1488630410897 3 connected 10923-16383
204ec3fe2b3bc6a8e0df75a63f357bb5db83b0b1 192.168.224.129:7005 slave 789c96a262d9a4c2c3523b886109cd23ab0fae3c 0 1488630411936 5 connected
87c18786ef18e8765449cbda2684f20433695378 192.168.224.129:7004 slave be6fcecb1b596b9369b159c54ff6946acb38bc7e 0 1488630408851 4 connected
be6fcecb1b596b9369b159c54ff6946acb38bc7e 192.168.224.129:7001 myself,master - 0 0 1 connected 0-5460
三、动态添加集群节点


1、默认添加主节点master
需求:需要把7007节点添加到集群中
前提:7007REDIS服务必须处于启动状态,才能把7007服务添加到集群中
添加命令:./redis-trib.rb add-node  192.168.224.129:7007 192.168.224.129:7001


add-node:表示添加集群节点,默认添加主节点
192.168.224.129:7007:需求添加的节点
192.168.224.129:7001:参考节点,表示把7007节点添加到7001所在集群
添加成功:[OK] New node added correctly.
2、分配存储空间
从新分配存储空间命令:./redis-trib.rb reshard 192.168.224.129:7001


    reshard:从新分配空间
    192.168.224.129:7001:表示重新分配7001所在集群空间


3、给集群节点添加从节点
需求:给7007master主节点添加一个从节点7008
注意:一个主节点可以有多个从节点
前提:7008REDIS服务必须处于启动状态,才能把7008服务添加到集群中
命令:./redis-trib.rb add-node --slave --master-id 5ff6ce2a43ae37cf3fbf2ec850a8a815df86bab4 192.168.224.129:7008 


192.168.224.129:7001
add-node:添加节点
--slave:表示添加的是从节点
--master-id:表示添加节点的主节点Id
192.168.224.129:7008:需求添加的节点
192.168.224.129:7001:参考节点,表示把7008节点添加到7001所在集群