掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流
Redis集群配置查看實戰(zhàn):以Redis為中心

成都創(chuàng)新互聯(lián)2013年至今,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目成都做網(wǎng)站、成都網(wǎng)站設計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元綏寧做網(wǎng)站,已為上家服務,為綏寧各地企業(yè)和個人服務,聯(lián)系電話:18980820575
Redis是一個開源的內(nèi)存數(shù)據(jù)結構存儲系統(tǒng),被廣泛地應用于高性能的數(shù)據(jù)存儲和緩存方案中。隨著業(yè)務規(guī)模的擴大,單個Redis實例的存儲容量會面臨瓶頸,因此需要搭建Redis集群來提高性能和容量。但對于Redis集群的配置是否正確,如何查看Redis集群的狀態(tài),卻是很多運維人員頭疼的問題。
在本篇文章中,我們將從Redis為中心的角度,結合實際案例,探討Redis集群的配置查看實戰(zhàn)經(jīng)驗。
一、Redis集群架構
Redis集群采用的是分布式存儲架構,多個Redis實例組成一個集群,其中至少有一個主節(jié)點和多個從節(jié)點。主節(jié)點負責接收客戶端的寫操作,從節(jié)點負責同步主節(jié)點的數(shù)據(jù)到本地,以提供讀服務。當主節(jié)點宕機時,從節(jié)點會選取一個從節(jié)點成為主節(jié)點,繼續(xù)服務。
Redis集群中的節(jié)點之間通過Gossip協(xié)議保持信息同步,同時采用哈希槽的方式進行數(shù)據(jù)分片,將整個數(shù)據(jù)按照哈希值映射到不同的節(jié)點上。
二、Redis集群配置查看
2.1 Redis集群狀態(tài)查看
Redis集群的狀態(tài)查看主要包括節(jié)點狀態(tài)、哈希槽狀態(tài)和節(jié)點角色等信息。我們可以通過執(zhí)行Cluster info命令或redis-cli –cluster info命令來獲取Redis集群的狀態(tài)信息。
執(zhí)行cluster info命令,可以得到如下結果:
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfl:0
cluster_slots_fl:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
其中,cluster_state表示集群狀態(tài)正常,cluster_slots_assigned表示分配的哈希槽數(shù),cluster_slots_ok表示正常運行的哈希槽數(shù),cluster_known_nodes表示已知節(jié)點數(shù),cluster_size表示集群大小,cluster_current_epoch表示當前集群的紀元值。
2.2 Redis集群節(jié)點信息查看
Redis集群的節(jié)點信息包括節(jié)點ID、IP地址、端口號、角色等信息。我們可以執(zhí)行cluster nodes命令來獲取所有節(jié)點的信息。
執(zhí)行cluster nodes命令,可以得到如下結果:
2e3031e0d625786769e53663fe63cdcc2ca1da36 127.0.0.1:7000@17000 myself,master - 0 0 1 connected 0-4095
a8d3932d7fca0519c81b7e54f8c4e46a4a3aad4f 127.0.0.1:7001@17001 master - 0 1529737378367 2 connected 8192-12287
2751d178da7f9e406f0b7c65bccc46695d62a971 127.0.0.1:7002@17002 slave a8d3932d7fca0519c81b7e54f8c4e46a4a3aad4f 0 1529737385873 3 connected
7d4d5838ce4f4db3e3d84f2dadf8dfb3197a9e9c 127.0.0.1:7003@17003 slave 2e3031e0d625786769e53663fe63cdcc2ca1da36 0 1529737382365 4 connected
f96cf6c8c1542c495b046a7911f2bd77196f76b7 127.0.0.1:7004@17004 slave 2751d178da7f9e406f0b7c65bccc46695d62a971 0 1529737383373 5 connected
56d53bbd6d11193f374e7faa5f14c780e6d8f1e2 127.0.0.1:7005@17005 master - 0 1529737378861 6 connected 12288-16383
其中,第一列為節(jié)點的ID,第二列為節(jié)點的地址和端口號,第三列為節(jié)點的角色,其中包括myself、master和slave三種,分別表示本節(jié)點、主節(jié)點和從節(jié)點。其他列為節(jié)點的狀態(tài)信息,包括哈希槽信息、復制信息等。
2.3 Redis集群哈希槽信息查看
Redis集群的哈希槽信息包括各個節(jié)點的哈希槽分配情況。我們可以執(zhí)行cluster slots命令來獲取所有節(jié)點的哈希槽信息。
執(zhí)行cluster slots命令,可以得到如下結果:
1) 1) (integer) 0
2) (integer) 4095
3) 1) "127.0.0.1"
2) "7000"
3) "2e3031e0d625786769e53663fe63cdcc2ca1da36"
2) 1) (integer) 8192
2) (integer) 12287
3) 1) "127.0.0.1"
2) "7001"
3) "a8d3932d7fca0519c81b7e54f8c4e46a4a3aad4f"
3) 1) (integer) 12288
2) (integer) 16383
3) 1) "127.0.0.1"
2) "7005"
3) "56d53bbd6d11193f374e7faa5f14c780e6d8f1e2"
其中,第一列為哈希槽的起始編號和結束編號,第二列為節(jié)點的地址和端口號,第三列為節(jié)點的ID。
三、Redis集群配置實戰(zhàn)
為了更好地理解Redis集群的配置查看,我們通過一個實際案例來進行說明。
3.1 Redis集群搭建
我們通過Docker搭建一個Redis集群,其中包括三個節(jié)點,每個節(jié)點啟動兩個實例,共六個實例。
sudo docker run -d -p 7000:7000 -p 17000:17000 --name redis0 ninedu/redis-cluster:4.0
sudo docker run -d -p 7001:7001 -p 17001:17001 --name redis1 ninedu/redis-cluster:4.0
sudo docker run -d -p 7002:7002 -p 17002:17002 --name redis2 ninedu/redis-cluster:4.0
sudo docker run -d -p 7003:7003 -p 17003:17003 --name redis3 ninedu/redis-cluster:4.0
sudo docker run -d -p 7004:7004 -p 17004:17004 --name redis4 ninedu/redis-cluster:4.0
sudo docker run -d -p 7005:7005 -p 17005:17005 --name redis5 ninedu/redis-cluster:4.0
sudo docker exec -it redis0 bash -c "/redis/src/redis-cli -c -p 7000 cluster meet 127.0.0.1 7001"
sudo docker exec -it redis0 bash -c "/redis/src/redis-cli -c -p 7000 cluster meet 127.0.0.1 7002"
sudo docker exec -it redis1 bash -c "/redis/src/redis-cli -c -p 7001 cluster meet 127.0.0.1 7000"
sudo docker exec -it redis1 bash -c "/redis/src/redis-cli -c -p 7001 cluster meet 127.0.0.1 7003"
sudo docker exec -it redis2 bash -c "/redis/src/redis-cli -c -p 7002 cluster meet 127.0.0.1 7000"
sudo docker exec -it redis2 bash -c "/redis/src/redis-cli -c -p 7002 cluster meet 127.0
創(chuàng)新互聯(lián)(cdcxhl.com)提供穩(wěn)定的云服務器,香港云服務器,BGP云服務器,雙線云服務器,高防云服務器,成都云服務器,服務器托管。精選鉅惠,歡迎咨詢:028-86922220。

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流