本方法記錄在單機環(huán)境下,啟動3個redis實例來模擬多個機器進行集群部署。
redis下載
進入redis官網(wǎng)https://redis.io/,下載3.2之上的版本即可。
redis解壓及安裝
tar -vxzf redis-x.x.x.tar.gz
cd redis-x.x.x
make && make install
cd src cp redis-trib.rb /user/local/bin/
創(chuàng)建redis節(jié)點
創(chuàng)建目錄,用來存放每個節(jié)點的配置及其日志等信息。
mkdir redis_cluster
拷貝redis配置文件到不同的目錄中。
mkdir 6401 6402 6403
cp redis.conf redis_cluster/6401/redis.conf
cp redis.conf redis_cluster/6402/redis.conf
cp redis.conf redis_cluster/6403/redis.conf
分別修改配置文件。
port 6401 #端口號,需要分別配置成6401 6402 6403
bind 0.0.0.0 #redis所綁定的ip地址,0.0.0.0為全網(wǎng)地址
daemonize yes #redis以守護進程方式后臺啟動
pidfile cluster/6401/redis.pid #進程pid記錄文件,需要分別在6401 6402 6403三個目錄中
cluster-enabled yes #開啟集群模式
cluster-config-file nodes_6401.conf #集群配置文件,首次啟動會自動生成,分別配置成6401 6402 6403
cluster-node-timeout 15000 #請求超時時間
appendonly yes #開啟AOF日志
啟動節(jié)點
redis-server redis_cluster/6401/redis.conf
redis-server redis_cluster/6402/redis.conf
redis-server redis_cluster/6403/redis.conf
至此,三個節(jié)點的redis已經(jīng)啟動完成,接下來需要創(chuàng)建redis cluster集群。
創(chuàng)建cluster集群
redis-trib.rb create --replicas 0 127.0.0.1:6401 127.0.0.1:6402 127.0.0.1:6403
測試
使用redis-cli可以啟動后可以看到各節(jié)點狀態(tài)以及set get均正常。
redis-cli -c -h 127.0.0.1 -p 6401
127.0.0.1:6401> CLUSTER INFO
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:3
cluster_size:3
cluster_current_epoch:3
cluster_my_epoch:1
cluster_stats_messages_ping_sent:945
cluster_stats_messages_pong_sent:914
cluster_stats_messages_sent:1859
cluster_stats_messages_ping_received:909
cluster_stats_messages_pong_received:945
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:1859
127.0.0.1:6401> set test hahaha
-> Redirected to slot [6918] located at
127.0.0.1:6403
OK
127.0.0.1:6403> get test
"hahaha"