Redis-Cluster实战-

Redis-Cluster实战-

转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426

   

一、准备redis(下载、编译、安装、配置目录、数据目录)

1. 下载、编译、安装

Java代码  

  1. cd /opt/soft  
  2. wget http://download.redis.io/releases/redis-3.0.3.tar.gz  
  3. tar xzf redis-3.0.3.tar.gz  
  4. cd redis-3.0.3  
  5. make  
  6. make install  

 

2. 配置目录、数据目录

Java代码  

  1. cd /opt/soft/redis-3.0.3  
  2. mkdir -p data  
  3. mkdir -p conf  

 

3.建立软链接:

Java代码  

  1. ln -s /opt/soft/redis-3.0.3 /opt/soft/redis  

 

 

二、配置、启动Redis节点(本例子以3主、3从组成Redis-Cluster

 

(1) 配置redis节点,在conf目录下添加6(7000-7005)redis-${port}.conf作为6个节点的配置文件

      其中7000-7005是六个端口号

Java代码  

  1. port 7000  
  2. cluster-enabled yes  
  3. cluster-config-file nodes-7000.conf  
  4. cluster-node-timeout 5000  
  5. dir "/opt/soft/redis/data/"  
  6. appendonly yes  
  7. appendfilename "appendonly-7000.aof"  
  8. daemonize yes  

 

生成另外5个文件

Java代码  

  1. sed 's/7000/7001/g' redis-7000.conf > redis-7001.conf  
  2. sed 's/7000/7002/g' redis-7000.conf > redis-7002.conf  
  3. sed 's/7000/7003/g' redis-7000.conf > redis-7003.conf  
  4. sed 's/7000/7004/g' redis-7000.conf > redis-7004.conf  
  5. sed 's/7000/7005/g' redis-7000.conf > redis-7005.conf  

  

 

(2) 启动6个节点。

Java代码  

  1. redis-server /opt/soft/redis/conf/redis-7000.conf  
  2. redis-server /opt/soft/redis/conf/redis-7001.conf  
  3. redis-server /opt/soft/redis/conf/redis-7002.conf  
  4. redis-server /opt/soft/redis/conf/redis-7003.conf  
  5. redis-server /opt/soft/redis/conf/redis-7004.conf  
  6. redis-server /opt/soft/redis/conf/redis-7005.conf  

 

 

查看节点是否都已经启动:

Java代码  

  1. [@zw_53_162 conf]#   
  2. [@zw_53_162 conf]# ps -ef | grep redis  
  3. root 26007 1 0 21:56 ? 00:00:00 redis-server *:7000 [cluster]   
  4. root 26011 1 0 21:56 ? 00:00:00 redis-server *:7001 [cluster]   
  5. root 26019 1 0 21:56 ? 00:00:00 redis-server *:7002 [cluster]   
  6. root 26023 1 0 21:56 ? 00:00:00 redis-server *:7003 [cluster]   
  7. root 26033 1 0 21:56 ? 00:00:00 redis-server *:7004 [cluster]   
  8. root 26047 1 0 21:56 ? 00:00:00 redis-server *:7005 [cluster]  

 

 

查看单个节点:(此时六个节点是分散的,没有形成集群,所有cluster_state=fail

 

Java代码  

  1. [@zw_53_162 conf]# redis-cli -c -p 7000  
  2. 127.0.0.1:7000> cluster info  
  3. cluster_state:fail  
  4. cluster_slots_assigned:0  
  5. cluster_slots_ok:0  
  6. cluster_slots_pfail:0  
  7. cluster_slots_fail:0  
  8. cluster_known_nodes:1  
  9. cluster_size:0  
  10. cluster_current_epoch:0  
  11. cluster_my_epoch:0  
  12. cluster_stats_messages_sent:0  
  13. cluster_stats_messages_received:0  

 

 

三、使用Redis-ClusterRuby工具完成集群的搭建:

 

Java代码  

  1. /opt/soft/redis/src/redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005  

 

   安装信息:

Java代码  

  1. >>> Creating cluster  
  2. # ping所有节点,如果有一个不OK,安装就结束了。  
  3. Connecting to node 127.0.0.1:7000: OK  
  4. Connecting to node 127.0.0.1:7001: OK  
  5. Connecting to node 127.0.0.1:7002: OK  
  6. Connecting to node 127.0.0.1:7003: OK  
  7. Connecting to node 127.0.0.1:7004: OK  
  8. Connecting to node 127.0.0.1:7005: OK  
  9. # 主从节点确认  
  10. >>> Performing hash slots allocation on 6 nodes...  
  11. Using 3 masters:  
  12. 127.0.0.1:7000  
  13. 127.0.0.1:7001  
  14. 127.0.0.1:7002  
  15. Adding replica 127.0.0.1:7003 to 127.0.0.1:7000  
  16. Adding replica 127.0.0.1:7004 to 127.0.0.1:7001  
  17. Adding replica 127.0.0.1:7005 to 127.0.0.1:7002  
  18. M: 11e6c12da2521b1877c93cf64437af23b21889b3 127.0.0.1:7000  
  19.  slots:0-5460 (5461 slots) master  
  20. M: cee69d4f42bce422e864e0324679f1fbf7506dba 127.0.0.1:7001  
  21.  slots:5461-10922 (5462 slots) master  
  22. M: 32ff9de3a4bcdc9423fdf269b0d1588d50fd18e3 127.0.0.1:7002  
  23.  slots:10923-16383 (5461 slots) master  
  24. S: 0e5d897a3be6033ef6733fc37a974124e9e89cc8 127.0.0.1:7003  
  25.  replicates 11e6c12da2521b1877c93cf64437af23b21889b3  
  26. S: b294779edee369c669c44848d71d599c42a0bfe8 127.0.0.1:7004  
  27.  replicates cee69d4f42bce422e864e0324679f1fbf7506dba  
  28. S: f57f64229b6a7501d42bd70192eec4acd56422d6 127.0.0.1:7005  
  29.  replicates 32ff9de3a4bcdc9423fdf269b0d1588d50fd18e3  
  30. Can I set the above configuration? (type 'yes' to accept): yes(人工确认安装是否成功)  
  31.  #meet  
  32. >>> Nodes configuration updated  
  33. >>> Assign a different config epoch to each node  
  34. >>> Sending CLUSTER MEET messages to join the cluster  
  35. Waiting for the cluster to join..  
  36. >>> Performing Cluster Check (using node 127.0.0.1:7000)  
  37. #分配slots  
  38. M: 11e6c12da2521b1877c93cf64437af23b21889b3 127.0.0.1:7000  
  39.  slots:0-5460 (5461 slots) master  
  40. M: cee69d4f42bce422e864e0324679f1fbf7506dba 127.0.0.1:7001  
  41.  slots:5461-10922 (5462 slots) master  
  42. M: 32ff9de3a4bcdc9423fdf269b0d1588d50fd18e3 127.0.0.1:7002  
  43.  slots:10923-16383 (5461 slots) master  
  44. M: 0e5d897a3be6033ef6733fc37a974124e9e89cc8 127.0.0.1:7003  
  45.  slots: (0 slots) master  
  46.  replicates 11e6c12da2521b1877c93cf64437af23b21889b3  
  47. M: b294779edee369c669c44848d71d599c42a0bfe8 127.0.0.1:7004  
  48.  slots: (0 slots) master  
  49.  replicates cee69d4f42bce422e864e0324679f1fbf7506dba  
  50. M: f57f64229b6a7501d42bd70192eec4acd56422d6 127.0.0.1:7005  
  51.  slots: (0 slots) master  
  52.  replicates 32ff9de3a4bcdc9423fdf269b0d1588d50fd18e3  
  53. [OK] All nodes agree about slots configuration.  
  54. >>> Check for open slots...  
  55. >>> Check slots coverage...  
  56. [OK] All 16384 slots covered.  

  

确认集群是否安装成功:

Java代码  

  1. [@zw_53_162 redis]# redis-cli -c -p 7000  
  2. 127.0.0.1:7000> cluster info  
  3. cluster_state:ok  
  4. cluster_slots_assigned:16384  
  5. cluster_slots_ok:16384  
  6. cluster_slots_pfail:0  
  7. cluster_slots_fail:0  
  8. cluster_known_nodes:6  
  9. cluster_size:3  
  10. cluster_current_epoch:6  
  11. cluster_my_epoch:1  
  12. cluster_stats_messages_sent:985  
  13. cluster_stats_messages_received:985  

 

 查看slots使用情况:

Java代码  

  1. 127.0.0.1:7000> cluster slots  
  2. 1) 1) (integer) 5461  
  3.  2) (integer) 10922  
  4.  3) 1) "127.0.0.1"  
  5.  2) (integer) 7001  
  6.  4) 1) "127.0.0.1"  
  7.  2) (integer) 7004  
  8. 2) 1) (integer) 10923  
  9.  2) (integer) 16383  
  10.  3) 1) "127.0.0.1"  
  11.  2) (integer) 7002  
  12.  4) 1) "127.0.0.1"  
  13.  2) (integer) 7005  
  14. 3) 1) (integer) 0  
  15.  2) (integer) 5460  
  16.  3) 1) "127.0.0.1"  
  17.  2) (integer) 7000  
  18.  4) 1) "127.0.0.1"  
  19.  2) (integer) 7003  

  

四、完整安装视频:

 

见附件。

 

 

转载于:https://my.oschina.net/iioschina/blog/885443

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值