Redis-Cluster实战-

Redis-Cluster实战-node

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

   

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

1. 下载、编译、安装工具

Java代码  收藏代码spa

  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. 配置目录、数据目录orm

Java代码  收藏代码视频

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

 

3.创建软连接:server

Java代码  收藏代码blog

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

 

 

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

 

(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  

 

 

3、使用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  

  

4、完整安装视频:

 

见附件。

相关文章
相关标签/搜索