您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Redis-full-check怎么用”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
Redis-full-check 是阿里開(kāi)源的一個(gè)工具,GitHub 地址 https://github.com/alibaba/RedisFullCheck,安裝前我們需要找一臺(tái) Linux 機(jī)器,并且 GLIBC的版本需要高于 2.14,不然使用的時(shí)候會(huì)提示 /lib64/libc.so.6: version GLIBC_2.14 not found
。下載我們有兩種方式,第一種是在本地直接下載,然后上傳到服務(wù)器上面;另一個(gè)是直接在服務(wù)器上面執(zhí)行wget https://github.com/alibaba/RedisFullCheck/releases/download/release-v1.4.8-20200212/redis-full-check-1.4.8.tar.gz
進(jìn)行下載。下載完成過(guò)后解壓tar xzvf redis-full-check-1.4.8.tar.gz
。具體的過(guò)程我們?nèi)缦逻M(jìn)行:
檢查當(dāng)前服務(wù)器的 GLIBC 版本,執(zhí)行命令strings /lib64/libc.so.6 |grep GLIBC_
,如下圖,如果出現(xiàn)高于 2.14 的即可,如果沒(méi)有可以考慮換一臺(tái)服務(wù)器或者自己更新,但是更新有風(fēng)險(xiǎn)請(qǐng)謹(jǐn)慎,具體的更新方法自行百度;
下載壓縮包,執(zhí)行:wget https://github.com/alibaba/RedisFullCheck/releases/download/release-v1.4.8-20200212/redis-full-check-1.4.8.tar.gz
下載完成后解壓。阿粉這里已經(jīng)下過(guò)了, 就不重復(fù)下載了,解壓后進(jìn)入目錄,輸入./redis-full-check -v
如果能正??吹桨姹咎?hào)就說(shuō)明下載安裝成功了。
在使用這個(gè)工具之前,你需要的是兩臺(tái)不同的 Redis 實(shí)例,阿粉這邊因?yàn)槭菑膯螜C(jī)切換到集群,所以已經(jīng)有了。下面就有單機(jī)和集群給大家演示。我們執(zhí)行如下命令:./redis-full-check -s "172.20.xxx.xxx:6379" -p "sourcePassword" --sourcedbfilterlist=0 -t "172.20.xxx.xxx:6379;172.20.yyy.yyy:6379" -a "targetPassword" --targetdbtype=1
說(shuō)明:
-s: 表示源 Redis 實(shí)例
p:源 Redis 密碼
--sourcedbfilterlist:匹配指定的 db 庫(kù),單集 Redis 是可以設(shè)置特定 db 庫(kù)的,集群環(huán)境不行,根據(jù)自己的情況決定是否采用;
-t:目標(biāo) Redis,阿粉這邊是集群所以會(huì)有多個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)用分號(hào)隔開(kāi),另外注意文檔上說(shuō)這里必須填寫(xiě)所有的 master 節(jié)點(diǎn)或者所有的 slave 節(jié)點(diǎn),不能混合填寫(xiě)。阿粉這里填的都是 master 節(jié)點(diǎn)是成功,但是全部 slave 好像沒(méi)成功,大家可以自己試試。
-a:表示目標(biāo) Redis 的密碼
--targetdbtype=1:目標(biāo) Redis 環(huán)境的類(lèi)型,0:db(standalone單節(jié)點(diǎn)、主從),1: cluster(集群版),2: 阿里云
詳細(xì)的參數(shù)如下:
-s, --source=SOURCE 源redis庫(kù)地址(ip:port),如果是集群版,那么需要以分號(hào)(;)分割不同的db,只需要配置主或者從的其中之一。例如:10.1.1.1:1000;10.2.2.2:2000;10.3.3.3:3000。 -p, --sourcepassword=Password 源redis庫(kù)密碼 --sourceauthtype=AUTH-TYPE 源庫(kù)管理權(quán)限,開(kāi)源reids下此參數(shù)無(wú)用。 --sourcedbtype= 源庫(kù)的類(lèi)別,0:db(standalone單節(jié)點(diǎn)、主從),1: cluster(集群版),2: 阿里云 --sourcedbfilterlist= 源庫(kù)需要抓取的邏輯db白名單,以分號(hào)(;)分割,例如:0;5;15表示db0,db5和db15都會(huì)被抓取 -t, --target=TARGET 目的redis庫(kù)地址(ip:port) -a, --targetpassword=Password 目的redis庫(kù)密碼 --targetauthtype=AUTH-TYPE 目的庫(kù)管理權(quán)限,開(kāi)源reids下此參數(shù)無(wú)用。 --targetdbtype= 參考sourcedbtype --targetdbfilterlist= 參考sourcedbfilterlist -d, --db=Sqlite3-DB-FILE 對(duì)于差異的key存儲(chǔ)的sqlite3 db的位置,默認(rèn)result.db --comparetimes=COUNT 比較輪數(shù) -m, --comparemode= 比較模式,1表示全量比較,2表示只對(duì)比value的長(zhǎng)度,3只對(duì)比key是否存在,4全量比較的情況下,忽略大key的比較 --id= 用于打metric --jobid= 用于打metric --taskid= 用于打metric -q, --qps= qps限速閾值 --interval=Second 每輪之間的時(shí)間間隔 --batchcount=COUNT 批量聚合的數(shù)量 --parallel=COUNT 比較的并發(fā)協(xié)程數(shù),默認(rèn)5 --log=FILE log文件 --result=FILE 不一致結(jié)果記錄到result文件中,格式:'db diff-type key field' --metric=FILE metric文件 --bigkeythreshold=COUNT 大key拆分的閾值,用于comparemode=4 -f, --filterlist=FILTER 需要比較的key列表,以分號(hào)(;)分割。例如:"abc*|efg|m*"表示對(duì)比'abc', 'abc1', 'efg', 'm', 'mxyz',不對(duì)比'efgh', 'p'。 -v, --version
執(zhí)行完上面的命令過(guò)后在當(dāng)前目錄下會(huì)生成三個(gè)文件,分別是result.db.1,result.db.2,result.db.3。我們可以通過(guò) sqlite3 工具進(jìn)行查詢
通過(guò)sqlite3 result.db.3
命令進(jìn)入終端,然后從 key 表中查詢我們需要的數(shù)據(jù)。sqlite3 工具是一個(gè)類(lèi)似 MySQL 的數(shù)據(jù)庫(kù),大家可以自己研究下如何使用,后面有機(jī)會(huì)阿粉再跟大家分享。
從上面中可以發(fā)現(xiàn),這個(gè)結(jié)果看起來(lái)很難受,阿粉再教大家?guī)渍?,讓看起?lái)爽一點(diǎn)!進(jìn)入終端后我們依次輸入下面命令
.header on
打開(kāi)表頭,id 只是序號(hào),key 表示源 Redis 中的 key,type 表示類(lèi)型,db 表示 key 所在的源 Redis 的 db 庫(kù),source_len,和 target_len 分別表示在源 Redis 和目標(biāo) Redis 的中 value 的長(zhǎng)度。我們可以通過(guò)長(zhǎng)度來(lái)快速查看不同的數(shù)據(jù)。
.mode column
設(shè)置輸出模式
.widht int int...
設(shè)置每列顯示的長(zhǎng)度,更美觀
.quit
退出終端
通過(guò)這個(gè)輸出結(jié)果我們可以明顯的看出哪些數(shù)據(jù)是不一致的,從而對(duì)比兩個(gè) Redis 實(shí)例的數(shù)據(jù),需要注意的是 Redis-full-check 對(duì)比的是源實(shí)例是否是目標(biāo)實(shí)例的子集!
“Redis-full-check怎么用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。