新聞中心
Redis集群配置查看實(shí)戰(zhàn):以Redis為中心

成都創(chuàng)新互聯(lián)2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元綏寧做網(wǎng)站,已為上家服務(wù),為綏寧各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
Redis是一個(gè)開源的內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)系統(tǒng),被廣泛地應(yīng)用于高性能的數(shù)據(jù)存儲(chǔ)和緩存方案中。隨著業(yè)務(wù)規(guī)模的擴(kuò)大,單個(gè)Redis實(shí)例的存儲(chǔ)容量會(huì)面臨瓶頸,因此需要搭建Redis集群來(lái)提高性能和容量。但對(duì)于Redis集群的配置是否正確,如何查看Redis集群的狀態(tài),卻是很多運(yùn)維人員頭疼的問題。
在本篇文章中,我們將從Redis為中心的角度,結(jié)合實(shí)際案例,探討Redis集群的配置查看實(shí)戰(zhàn)經(jīng)驗(yàn)。
一、Redis集群架構(gòu)
Redis集群采用的是分布式存儲(chǔ)架構(gòu),多個(gè)Redis實(shí)例組成一個(gè)集群,其中至少有一個(gè)主節(jié)點(diǎn)和多個(gè)從節(jié)點(diǎn)。主節(jié)點(diǎn)負(fù)責(zé)接收客戶端的寫操作,從節(jié)點(diǎn)負(fù)責(zé)同步主節(jié)點(diǎn)的數(shù)據(jù)到本地,以提供讀服務(wù)。當(dāng)主節(jié)點(diǎn)宕機(jī)時(shí),從節(jié)點(diǎn)會(huì)選取一個(gè)從節(jié)點(diǎn)成為主節(jié)點(diǎn),繼續(xù)服務(wù)。
Redis集群中的節(jié)點(diǎn)之間通過Gossip協(xié)議保持信息同步,同時(shí)采用哈希槽的方式進(jìn)行數(shù)據(jù)分片,將整個(gè)數(shù)據(jù)按照哈希值映射到不同的節(jié)點(diǎn)上。
二、Redis集群配置查看
2.1 Redis集群狀態(tài)查看
Redis集群的狀態(tài)查看主要包括節(jié)點(diǎn)狀態(tài)、哈希槽狀態(tài)和節(jié)點(diǎn)角色等信息。我們可以通過執(zhí)行Cluster info命令或redis-cli –cluster info命令來(lái)獲取Redis集群的狀態(tài)信息。
執(zhí)行cluster info命令,可以得到如下結(jié)果:
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表示正常運(yùn)行的哈希槽數(shù),cluster_known_nodes表示已知節(jié)點(diǎn)數(shù),cluster_size表示集群大小,cluster_current_epoch表示當(dāng)前集群的紀(jì)元值。
2.2 Redis集群節(jié)點(diǎn)信息查看
Redis集群的節(jié)點(diǎn)信息包括節(jié)點(diǎn)ID、IP地址、端口號(hào)、角色等信息。我們可以執(zhí)行cluster nodes命令來(lái)獲取所有節(jié)點(diǎn)的信息。
執(zhí)行cluster nodes命令,可以得到如下結(jié)果:
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é)點(diǎn)的ID,第二列為節(jié)點(diǎn)的地址和端口號(hào),第三列為節(jié)點(diǎn)的角色,其中包括myself、master和slave三種,分別表示本節(jié)點(diǎn)、主節(jié)點(diǎn)和從節(jié)點(diǎn)。其他列為節(jié)點(diǎn)的狀態(tài)信息,包括哈希槽信息、復(fù)制信息等。
2.3 Redis集群哈希槽信息查看
Redis集群的哈希槽信息包括各個(gè)節(jié)點(diǎn)的哈希槽分配情況。我們可以執(zhí)行cluster slots命令來(lái)獲取所有節(jié)點(diǎn)的哈希槽信息。
執(zhí)行cluster slots命令,可以得到如下結(jié)果:
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"
其中,第一列為哈希槽的起始編號(hào)和結(jié)束編號(hào),第二列為節(jié)點(diǎn)的地址和端口號(hào),第三列為節(jié)點(diǎn)的ID。
三、Redis集群配置實(shí)戰(zhàn)
為了更好地理解Redis集群的配置查看,我們通過一個(gè)實(shí)際案例來(lái)進(jìn)行說(shuō)明。
3.1 Redis集群搭建
我們通過Docker搭建一個(gè)Redis集群,其中包括三個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)啟動(dòng)兩個(gè)實(shí)例,共六個(gè)實(shí)例。
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)定的云服務(wù)器,香港云服務(wù)器,BGP云服務(wù)器,雙線云服務(wù)器,高防云服務(wù)器,成都云服務(wù)器,服務(wù)器托管。精選鉅惠,歡迎咨詢:028-86922220。
分享文章:Redis集群配置查看實(shí)戰(zhàn)以Redis為中心(redis查看集群配置)
URL網(wǎng)址:http://fisionsoft.com.cn/article/dhpodhp.html


咨詢
建站咨詢
