Redis cluster 叢集

dmcatding發表於2019-04-12

##配置redis叢集需要至少6個redis節點

叢集至少3主3從才可以搭建,防止錯亂我們在redis 下建立一個資料夾cluster,裡面複製6份配置檔案,改名為redis1-redis6.conf


把每個配置檔案都修改以下共同點:

bind 10.233.19.36 (根據實際情況配置)

port 7001 (7001-7006)

daemonize yes(以守護程式執行)

pidfile /var/run/redis.pid (守護程式生成的檔案,以實際情況配置)

appendonly yes (開啟AOF日誌記錄Redis操作的持久化)

appendfilename "appendonly-7001.aof" (AOF檔名,配置埠為檔名便於檢視)

cluster-enabled yes (開啟叢集)

cluster-config-file nodes-7001.conf (節點資訊,已節點命名便於檢視)

cluster-node-timeout 15000 (節點響應超時時間)

以上為共同點每個節點不論主從都需要配置。

此外還需要注意,不要再為各個節點主動配置主從關係,否則啟動時會報錯。

因為主從關係要給redis叢集自己調節。




##啟動redis叢集

上面的配置完成之後,分別啟動6個redis例項。配置正確的情況下,都可以啟動成功。然後執行如下命令建立叢集:



注意,這裡使用的是ip:port   

replicas   1 表示我們希望為叢集中的每個主節點建立一個從節點

因為配置檔案中設定了密碼所以建立叢集也需要加密碼引數 -a

[ERR] Node 10.233.19.36:6380 NOAUTH Authentication required.


[redis@weblogic-test bin]$ ./redis-cli --cluster create 10.233.19.36:6380 10.233.19.36:6381 10.233.19.36:6382 10.233.19.36:6383 10.233.19.36:6384 10.233.19.36:6385 --cluster-replicas 1 -a beijing

Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.

>>> Performing hash slots allocation on 6 nodes...

Master[0] -> Slots 0 - 5460

Master[1] -> Slots 5461 - 10922

Master[2] -> Slots 10923 - 16383

Adding replica 10.233.19.36:6383 to 10.233.19.36:6380

Adding replica 10.233.19.36:6384 to 10.233.19.36:6381

Adding replica 10.233.19.36:6385 to 10.233.19.36:6382

>>> Trying to optimize slaves allocation for anti-affinity

[WARNING] Some slaves are in the same host as their master

M: 369151e4f1bed1e3fcaf474025853bc72056542e 10.233.19.36:6380

   slots:[0-5460] (5461 slots) master

M: 1f9314f13a22c2c68c609e98247bfe6d0714c75b 10.233.19.36:6381

   slots:[5461-10922] (5462 slots) master

M: 41840a493fceef875b1a521d951090f9c99c7040 10.233.19.36:6382

   slots:[10923-16383] (5461 slots) master

S: 438c5ecaf7501da25bfc0d2055445c036907ba61 10.233.19.36:6383

   replicates 1f9314f13a22c2c68c609e98247bfe6d0714c75b

S: 9598769e90155aeb130a33980ac1a1c27b1609cc 10.233.19.36:6384

   replicates 41840a493fceef875b1a521d951090f9c99c7040

S: b0d325e936ee5055648561302560d055d0bdb365 10.233.19.36:6385

   replicates 369151e4f1bed1e3fcaf474025853bc72056542e

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 10.233.19.36:6380)

M: 369151e4f1bed1e3fcaf474025853bc72056542e 10.233.19.36:6380

   slots:[0-5460] (5461 slots) master

   1 additional replica(s)

M: 1f9314f13a22c2c68c609e98247bfe6d0714c75b 10.233.19.36:6381

   slots:[5461-10922] (5462 slots) master

   1 additional replica(s)

S: 9598769e90155aeb130a33980ac1a1c27b1609cc 10.233.19.36:6384

   slots: (0 slots) slave

   replicates 41840a493fceef875b1a521d951090f9c99c7040

M: 41840a493fceef875b1a521d951090f9c99c7040 10.233.19.36:6382

   slots:[10923-16383] (5461 slots) master

   1 additional replica(s)

S: b0d325e936ee5055648561302560d055d0bdb365 10.233.19.36:6385

   slots: (0 slots) slave

   replicates 369151e4f1bed1e3fcaf474025853bc72056542e

S: 438c5ecaf7501da25bfc0d2055445c036907ba61 10.233.19.36:6383

   slots: (0 slots) slave

   replicates 1f9314f13a22c2c68c609e98247bfe6d0714c75b

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.



執行成功之後,連線一臺redis,執行 cluster info 會看到類似如下資訊:


127.0.0.1:6380> 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_ping_sent:190

cluster_stats_messages_pong_sent:181

cluster_stats_messages_sent:371

cluster_stats_messages_ping_received:176

cluster_stats_messages_pong_received:190

cluster_stats_messages_meet_received:5

cluster_stats_messages_received:371


我們可以看到cluster_state:ok,cluster_slots_ok:16384,cluster_size:3。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30327022/viewspace-2641161/,如需轉載,請註明出處,否則將追究法律責任。

相關文章