免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

IoTDB Pipe數(shù)據(jù)同步實(shí)戰(zhàn):從時(shí)序數(shù)據(jù)庫(kù)原理到自定義插件開(kāi)發(fā)

IoTDB Pipe數(shù)據(jù)同步實(shí)戰(zhàn):從時(shí)序數(shù)據(jù)庫(kù)原理到自定義插件開(kāi)發(fā) 1. 先把同步這件事想清楚時(shí)序庫(kù)的同步為什么比關(guān)系庫(kù)更麻煩這篇文章是這個(gè) IoTDB 實(shí)操系列里專門講數(shù)據(jù)同步的一篇主題是 Apache IoTDB 的 Pipe 機(jī)制以及基于插件體系做自定義同步的完整指南。先從我自己的一段經(jīng)歷說(shuō)起之前幫一個(gè)新能源平臺(tái)做集群遷移源端累積了三年多的測(cè)點(diǎn)數(shù)據(jù)好幾千億個(gè)點(diǎn)如果按老辦法導(dǎo)出再導(dǎo)入光校驗(yàn)就得折騰一周。后來(lái)用 IoTDB 1.2 的 Pipe 一條 SQL 建管道history 拉存量、realtime 接增量半天時(shí)間目標(biāo)端數(shù)據(jù)就已經(jīng)可以對(duì)外服務(wù)了。這種體驗(yàn)在數(shù)據(jù)庫(kù)同步場(chǎng)景里其實(shí)很少見(jiàn)也因此值得專門寫一篇。內(nèi)容會(huì)覆蓋時(shí)序數(shù)據(jù)庫(kù)同步的基本思路、Pipe 的 Source/Processor/Sink 三段架構(gòu)、從零創(chuàng)建一個(gè)同步管道、以及自定義插件同步的完整步驟適合正在做時(shí)序數(shù)據(jù)容災(zāi)、雙活、邊云匯聚或跨集群遷移的架構(gòu)師、DBA 和平臺(tái)開(kāi)發(fā)。為了有個(gè)參照系我也會(huì)拿 SQL Server 的 CDC/CT 和 MongoDB 生態(tài)里的 MongoShake 做對(duì)比畢竟很多人對(duì)“數(shù)據(jù)同步”的第一印象是從關(guān)系庫(kù)那邊來(lái)的。1.1 關(guān)系庫(kù)與 NoSQL 的同步方案CDC、CT、oplog 重放先給幾個(gè)參照物。SQL Server 的數(shù)據(jù)同步有非常經(jīng)典的兩種方式CDCChange Data Capture變更數(shù)據(jù)捕獲和 CTChange Tracking變更跟蹤。CDC 的思路是后臺(tái)進(jìn)程持續(xù)解析事務(wù)日志把每一次插入、更新、刪除解析成結(jié)構(gòu)化變更記錄。好處是你拿到的不僅是“誰(shuí)變了”還有變更前后的完整數(shù)據(jù)非常適合數(shù)據(jù)倉(cāng)庫(kù)增量抽取、審計(jì)和跨庫(kù)同步。代價(jià)是解析日志有額外開(kāi)銷鏈路會(huì)帶來(lái)延遲。CT 就輕量得多它只維護(hù)一個(gè)版本號(hào)標(biāo)記記錄“哪些行在某個(gè)版本之后發(fā)生過(guò)變化”不保存變化的內(nèi)容。業(yè)務(wù)端需要定時(shí)查詢變更版本拿到變更行號(hào)之后再自己回表?yè)茢?shù)據(jù)。省資源但拿不到最終數(shù)據(jù)適合“只想知道哪些數(shù)據(jù)變了再自己處理”的場(chǎng)景。再看 MongoDB 生態(tài)里常用的 MongoShake。它的原理是訂閱 MongoDB 的主節(jié)點(diǎn) oplog把變更事件解析后投遞給目標(biāo)端可以是另一個(gè) MongoDB 集群也可以是其他異構(gòu)存儲(chǔ)屬于典型的日志消費(fèi)型同步工具。這三者的共同點(diǎn)一句話能概括源的變更先進(jìn)日志工具消費(fèi)日志、解析事件、按序投遞。記住這個(gè)模型后面理解 IoTDB 的 Pipe 會(huì)非常順。順帶說(shuō)一句市面上時(shí)序數(shù)據(jù)庫(kù)還有不少InfluxDB、TDengine、TimescaleDB、Prometheus、QuestDB、KDB 等每家的同步方案差異很大有的是商業(yè)版功能有的依賴外部工具真正把同步做成數(shù)據(jù)庫(kù)內(nèi)建能力、還開(kāi)放插件接口的并不多IoTDB 的 Pipe 算是其中做得比較完整的一套。1.2 時(shí)序數(shù)據(jù)的寫入形態(tài)決定了同步不能照搬關(guān)系庫(kù)思路既然參照物有了接下來(lái)要回答的問(wèn)題是為什么不直接把 SQL Server CDC 那套搬過(guò)來(lái)用關(guān)鍵在于時(shí)序數(shù)據(jù)庫(kù)的寫入形態(tài)和關(guān)系庫(kù)完全不一樣。關(guān)系庫(kù)的最小單元是“一行數(shù)據(jù)”有主鍵、有約束、有事務(wù)時(shí)序庫(kù)的最小單元是一個(gè)又一個(gè)數(shù)據(jù)點(diǎn)按時(shí)間序列時(shí)間線組織同一條測(cè)點(diǎn)下面不斷追加不同時(shí)間戳的值。這意味著幾件事底層存儲(chǔ)是 TsFile 文件加 WAL不是傳統(tǒng)事務(wù)日志。想把“某個(gè)測(cè)點(diǎn)新寫了一個(gè)值”從存儲(chǔ)層單獨(dú)解析出來(lái)必須重新設(shè)計(jì)一套事件模型無(wú)法直接套用 SQL 日志解析。寫入體量不在一個(gè)量級(jí)。一個(gè)大型風(fēng)電場(chǎng)一天可能寫入上千億個(gè)點(diǎn)如果按“每條變更一條事件”的方式同步事件本身的序列化和投遞開(kāi)銷就會(huì)壓垮鏈路。亂序?qū)懭胧浅B(tài)。設(shè)備側(cè)網(wǎng)絡(luò)抖動(dòng)、邊緣緩存補(bǔ)發(fā)都會(huì)導(dǎo)致晚到的數(shù)據(jù)點(diǎn)時(shí)間戳更早。同步機(jī)制如果要求嚴(yán)格按提交序回放反而會(huì)制造大量等待和阻塞。所以 IoTDB 在設(shè)計(jì) Pipe 時(shí)必須同時(shí)處理三件事從 WAL 實(shí)時(shí)捕獲新事件、從歷史文件回溯存量數(shù)據(jù)、以及容忍目標(biāo)端亂序批量寫入。它不是把數(shù)據(jù)庫(kù)日志復(fù)制一下而是構(gòu)建了一條完整的、面向時(shí)序數(shù)據(jù)形態(tài)的同步管道。1.3 Pipe 機(jī)制解決的四個(gè)核心問(wèn)題正式給個(gè)定位Pipe 是 Apache IoTDB 從 1.0 版本開(kāi)始重構(gòu)并持續(xù)演進(jìn)的內(nèi)置數(shù)據(jù)同步框架。它在數(shù)據(jù)庫(kù)內(nèi)部解決了四個(gè)典型問(wèn)題存量遷移舊集群到新集群不需要導(dǎo) dump 再 load建一條帶 history 的管道歷史數(shù)據(jù)就能按時(shí)間片流式搬過(guò)去。增量實(shí)時(shí)同步創(chuàng)建管道之后新寫入的數(shù)據(jù)持續(xù)投遞到目標(biāo)端中間無(wú)需人工干預(yù)??缇W(wǎng)絡(luò)形態(tài)適配既能通過(guò) Thrift RPC 直接寫對(duì)端 IoTDB也能落地成文件應(yīng)對(duì)物理隔離環(huán)境。可編程擴(kuò)展通過(guò) pipe-api 插件接口自定義處理邏輯與投遞目標(biāo)不用改內(nèi)核代碼。下面我把 Pipe 拆成三段逐一說(shuō)這也是理解插件同步的地基。2. Pipe 三段式管道拆解Source、Processor、Sink 各自承擔(dān)什么Pipe 的命名很形象它就是一段一段的管道拼接。你可以在 create pipe 語(yǔ)句里顯式聲明三段也可以省略讓系統(tǒng)用默認(rèn)值。默認(rèn)三段分別是 iotdb-source、do-nothing-processor、iotdb-thrift-sink這個(gè)組合覆蓋了絕大多數(shù)“IoTDB 到 IoTDB”的同步需求。2.1 Source存量數(shù)據(jù)與增量數(shù)據(jù)的雙通道捕獲Source 是整個(gè)管道的進(jìn)水口決定數(shù)據(jù)從哪里來(lái)。我習(xí)慣把它的工作拆成兩個(gè)通道來(lái)看增量通道和存量通道。增量通道監(jiān)聽(tīng) WAL 中的新寫入事件解析后轉(zhuǎn)成管道內(nèi)部的事件對(duì)象。你可以把它理解成“數(shù)據(jù)庫(kù)自己的 CDC 讀取端”——只不過(guò)它讀的不是 SQL 事務(wù)日志而是 IoTDB 的寫入日志。存量通道則是直接掃描本地已有的 TsFile 數(shù)據(jù)文件按時(shí)間范圍切片讀取并把讀取進(jìn)度持久化下來(lái)。source 段常用的參數(shù)就幾個(gè)source插件類型默認(rèn) iotdb-source一般不用換realtime是否同步新寫入的數(shù)據(jù)true/falsehistory是否回溯同步歷史數(shù)據(jù)true/falsestart-time/end-time歷史數(shù)據(jù)的時(shí)間范圍ISO 8601 格式注意帶時(shí)區(qū)including/excluding部分版本支持的測(cè)點(diǎn)路徑過(guò)濾規(guī)則按需使用。這里有個(gè)新手常踩的誤區(qū)以為“得等 history 跑完再手動(dòng)開(kāi) realtime”。實(shí)際不用。history 和 realtime 可以同時(shí)開(kāi)啟IoTDB 會(huì)一邊把存量按時(shí)間片搬過(guò)去一邊把新數(shù)據(jù)接上兩邊各自維護(hù)進(jìn)度。實(shí)測(cè)大存量遷移時(shí)這種并行追平比串行“先遷歷史再等增量”快得多。2.2 Processor在數(shù)據(jù)到達(dá)對(duì)端之前攔一道干點(diǎn)活Processor 是管道中間的處理段也是插件體系里最常被擴(kuò)展的地方。默認(rèn)的 do-nothing-processor 就是原樣放行不做任何加工零額外開(kāi)銷。很多人第一反應(yīng)是“那我永遠(yuǎn)用默認(rèn)不就行了”沒(méi)問(wèn)題但如果同步的數(shù)據(jù)在途中需要被改造Processor 就是那個(gè)唯一的改造點(diǎn)??梢宰龅氖虑榘ǖ幌抻诎礈y(cè)點(diǎn)路徑過(guò)濾比如只同步wind_*前綴的時(shí)間序列其他一概丟棄字段級(jí)別的裁剪或格式轉(zhuǎn)換比如去掉 tag、把攝氏溫度換算成華氏路由改寫比如給目標(biāo)路徑統(tǒng)一加前綴避免邊云匯聚時(shí)多個(gè)邊緣端的設(shè)備 ID 互相沖突敏感信息脫敏比如對(duì)設(shè)備 ID 做哈希處理再寫入目標(biāo)端。用過(guò)流處理框架比如 Kafka Streams的人會(huì)覺(jué)得很熟悉無(wú)非就是 filter、map、transform 的組合。區(qū)別在于 Processor 操作的對(duì)象是批量時(shí)序事件不是單條消息所以性能模型上更接近批處理。2.3 Sink數(shù)據(jù)出口決定你能把數(shù)據(jù)運(yùn)到哪里Sink 是管道末端負(fù)責(zé)把數(shù)據(jù)投遞出去。IoTDB 1.2 內(nèi)置了兩種典型的 Sinkiotdb-thrift-sink通過(guò) Thrift RPC 直接寫入另一個(gè) IoTDB 集群。這是默認(rèn)選擇核心參數(shù)是node-urls對(duì)端 DataNode 地址多個(gè)地址用分號(hào)分隔、username、password。傳輸采用批量 Tablet 形式網(wǎng)絡(luò)利用率比較高。iotdb-air-gap-sink專門應(yīng)對(duì)不能開(kāi)網(wǎng)絡(luò)端口的隔離場(chǎng)景。它把同步數(shù)據(jù)滾動(dòng)寫成本地文件物理隔離環(huán)境下由運(yùn)維用擺渡方式把文件帶到目標(biāo)環(huán)境再導(dǎo)入。適合等保要求高、專網(wǎng)隔離這類生產(chǎn)環(huán)境。選 Sink 的本質(zhì)是在“實(shí)時(shí)性”和“可達(dá)性”之間做取舍。網(wǎng)絡(luò)能通走 thrift-sink 最簡(jiǎn)單網(wǎng)絡(luò)不通就老老實(shí)實(shí)走 air-gap 文件擺渡不要硬開(kāi)端口安全部門不會(huì)同意的。2.4 一條數(shù)據(jù)從寫入到目標(biāo)端落地的完整旅程把三段拼起來(lái)一條數(shù)據(jù)被同步的完整過(guò)程是這樣的業(yè)務(wù)執(zhí)行 insert 寫入源端 IoTDB數(shù)據(jù)先落 WALSource 的增量通道消費(fèi) WAL 事件解析成管道內(nèi)部事件Processor 按配置處理事件默認(rèn)透?jìng)鱏ink 把事件批量投遞給目標(biāo)端目標(biāo)端寫入成功之后返回確認(rèn)管道收到確認(rèn)才把這一批事件的進(jìn)度 checkpoint 往前走一格。注意第 5 步這是整個(gè)機(jī)制的靈魂。管道堅(jiān)持“只有對(duì)端確認(rèn)才推進(jìn)進(jìn)度”保證了斷點(diǎn)續(xù)傳的語(yǔ)義。管道中途異常中斷重啟后從最后一個(gè)已確認(rèn)位置繼續(xù)不會(huì)把已經(jīng)同步過(guò)的數(shù)據(jù)整段重發(fā)。提示排查“數(shù)據(jù)對(duì)不上”問(wèn)題時(shí)先回想這個(gè)五步模型問(wèn)題一定出在某一段源端沒(méi)抓到、中間處理掛了、目標(biāo)端沒(méi)寫進(jìn)或者進(jìn)度沒(méi)推進(jìn)。3. 最快上手一條 SQL 把兩個(gè) IoTDB 實(shí)例接起來(lái)理論講完直接上手。這一節(jié)我用一套可以在本地復(fù)現(xiàn)的配置把兩個(gè) IoTDB 實(shí)例用一條 SQL 接起來(lái)。3.1 動(dòng)手前的環(huán)境檢查假設(shè)你已經(jīng)有源端和目標(biāo)端兩套 IoTDB 實(shí)例版本以 1.2.x 為例。同步本身是“寫入即轉(zhuǎn)發(fā)”目標(biāo)端不需要預(yù)先建好時(shí)間序列寫入時(shí)會(huì)自動(dòng)創(chuàng)建。動(dòng)手前確認(rèn)三件事兩端大版本盡量一致??绱蟀姹静皇前俜职俨荒芡降录袷娇赡艽嬖诓患嫒萆a(chǎn)環(huán)境我不會(huì)冒險(xiǎn)。目標(biāo)端需要給同步賬號(hào)開(kāi)寫權(quán)限。最省事先用 root 把鏈路跑通后續(xù)再收斂成專用賬號(hào)。集群環(huán)境注意管道是節(jié)點(diǎn)級(jí)別運(yùn)行的。多 DataNode 場(chǎng)景下需要確認(rèn)每個(gè) DataNode 上的管道都已經(jīng)建好可以在任意節(jié)點(diǎn)執(zhí)行 show pipes 檢查整體情況。3.2 創(chuàng)建同步管道下面是我在 1.2.x 上驗(yàn)證過(guò)的創(chuàng)建語(yǔ)句create pipe p_to_backup with source ( source iotdb-source, realtime true, history true, start-time 2024-01-01T00:00:0008:00 ), processor ( processor do-nothing-processor ), sink ( sink iotdb-thrift-sink, node-urls 10.0.1.10:6667, username root, password root );各參數(shù)的含義拆開(kāi)看historytrue且不寫 end-time表示把從 start-time 到當(dāng)前的所有歷史數(shù)據(jù)按時(shí)間順序同步過(guò)去一直掃到最新。整庫(kù)遷移不要 start-time系統(tǒng)會(huì)從最早數(shù)據(jù)開(kāi)始。realtimetrue創(chuàng)建完成之后的新寫入持續(xù)同步。我建議存量加增量同時(shí)開(kāi)一步到位省得后面再補(bǔ)一條管道。start-time注意帶時(shí)區(qū)。寫成2024-01-01T00:00:0008:00和2023-12-31T16:00:00Z是同一個(gè)時(shí)間搞混時(shí)區(qū)會(huì)漏數(shù)據(jù)。processor先用默認(rèn)不要一上來(lái)就加自定義插件基線跑通最重要。node-urls填目標(biāo)端 DataNode 的地址和 6667 端口。如果目標(biāo)端是集群可以寫多個(gè)地址10.0.1.10:6667;10.0.1.11:6667。3.3 管道的生命周期管理創(chuàng)建完成之后第一件事是確認(rèn)狀態(tài)show pipes; show pipe p_to_backup;show pipe 會(huì)輸出管道的運(yùn)行狀態(tài)、任務(wù)數(shù)、延遲等關(guān)鍵信息。如果狀態(tài)不是 RUNNING先看日志再往下走不要急著刪管道重建。日常管理命令很簡(jiǎn)單stop pipe p_to_backup; -- 暫停定義保留 start pipe p_to_backup; -- 恢復(fù)執(zhí)行 drop pipe p_to_backup; -- 刪除管道定義這里有個(gè)值得注意的細(xì)節(jié)drop 之前盡量先 stop。在同步還在大規(guī)模灌數(shù)據(jù)時(shí)直接 drop目標(biāo)端可能出現(xiàn)半截寫入的中間態(tài)雖然不影響數(shù)據(jù)正確性但會(huì)給后續(xù)檢查制造噪音。3.4 三種常見(jiàn)部署拓?fù)湓趺磁渫ǖ澜ê弥舐涞氐骄唧w業(yè)務(wù)無(wú)非就三種拓?fù)渲鱾淙轂?zāi)一主一備源端建一條管道指向備庫(kù)備庫(kù)只讀。主庫(kù)故障時(shí)切到備庫(kù)管道可以 stop 掉避免浪費(fèi)資源。這種最簡(jiǎn)單不需要額外配置。邊云匯聚多對(duì)一多個(gè)邊緣 IoTDB 各建管道指向中心集群難點(diǎn)在路徑?jīng)_突。多個(gè)邊緣端可能都有同名的設(shè)備測(cè)點(diǎn)直接在中心端會(huì)互相覆蓋。我的做法是用 Processor 給每條管道寫入的目標(biāo)路徑加不同的前綴從管道上做隔離比到中心之后再想辦法區(qū)分要省事。雙活 / 讀寫分離A-B 雙向A 到 B 一條B 到 A 一條。最大的坑是回環(huán)A 的數(shù)據(jù)同步到 BB 端把它當(dāng)成新寫入再被 B 到 A 的管道同步回 A形成無(wú)限循環(huán)。我的經(jīng)驗(yàn)是從架構(gòu)層面解決而不是指望數(shù)據(jù)庫(kù)去重——讓兩端只允許本地寫入不同的設(shè)備或路徑段從源頭切斷交叉路徑。4. 插件同步指南內(nèi)置插件不夠用時(shí)自己寫一個(gè)前面講的是“開(kāi)箱即用”的部分。這一節(jié)進(jìn)入標(biāo)題里另一個(gè)關(guān)鍵詞插件同步。當(dāng)你發(fā)現(xiàn)內(nèi)置的 Source、Processor、Sink 不夠用需要自己定義同步邏輯時(shí)就進(jìn)入這個(gè)環(huán)節(jié)了。4.1 什么場(chǎng)景需要進(jìn)入插件開(kāi)發(fā)模式內(nèi)置三段在“IoTDB 到 IoTDB”的同步場(chǎng)景里確實(shí)夠用但下面三類情況就必須寫插件目標(biāo)端不是 IoTDB。數(shù)據(jù)要同步到 Kafka、RocketMQ、MySQL、對(duì)象存儲(chǔ)或者自研平臺(tái)這時(shí)候最干凈的做法是寫一個(gè)自定義 Sink。數(shù)據(jù)需要在途中做業(yè)務(wù)轉(zhuǎn)換。單位換算、按區(qū)域分流、敏感字段脫敏、路徑前綴改寫這些都是 Processor 的職責(zé)。硬要用外部 ETL 工具繞一圈延遲和復(fù)雜度都會(huì)上來(lái)。同步鏈路上需要觀測(cè)能力。比如每條事件打一條日志、輸出指標(biāo)、觸發(fā)告警同樣可以做成一個(gè)輕量 Processor 插件掛在管道里。4.2 手寫一個(gè)自定義 Processor測(cè)點(diǎn)過(guò)濾示例先講骨架。一個(gè) Pipe 插件本質(zhì)上是依賴 pipe-api 模塊的 Java 工程實(shí)現(xiàn)對(duì)應(yīng)接口打成 jar 放到 DataNode 擴(kuò)展目錄在 create pipe 時(shí)用全類名引用。Maven 依賴長(zhǎng)這樣版本換成你實(shí)際目標(biāo)版本的坐標(biāo)dependency groupIdorg.apache.iotdb/groupId artifactIdiotdb-pipe-api/artifactId version1.2.2/version scopeprovided/scope /dependency以“只同步特定前綴測(cè)點(diǎn)”的 Processor 為例核心邏輯如下。接口方法為了講清思路做了簡(jiǎn)化實(shí)際簽名以你拉取的 pipe-api 源碼為準(zhǔn)package com.example.pipe; import org.apache.iotdb.pipe.api.PipeProcessor; public class PathFilterProcessor implements PipeProcessor { private String allowPrefix; Override public void validate(PipeParameterValidator validator) { String v validator.getAttributes().getString(allow-prefix); if (v null || v.isBlank()) { throw new IllegalArgumentException(allow-prefix must be set); } } Override public void customize(PipeProcessorRuntimeConfiguration config) { this.allowPrefix config.getEvaluator().getString(allow-prefix); } Override public void process(PipeData data) { if (data.getPath().startsWith(allowPrefix)) { data.forward(); } else { data.drop(); } } }接口雖然簡(jiǎn)化了但你要記住的關(guān)鍵點(diǎn)不變validate 校驗(yàn)參數(shù)、customize 讀取 create pipe 里傳入的配置、process 決定每批事件是放行、丟棄還是改寫。特別提醒事件在自定義 Processor 里必須明確調(diào)用放行方法否則后面的 Sink 什么都收不到而且不會(huì)報(bào)錯(cuò)排查時(shí)很容易懵。4.3 手寫一個(gè)自定義 Sink轉(zhuǎn)發(fā)到消息隊(duì)列再舉一個(gè)更貼合“插件同步”訴求的例子目標(biāo)端不是 IoTDB而是 Kafka。package com.example.pipe; import org.apache.iotdb.pipe.api.PipeSink; public class KafkaSink implements PipeSink { private KafkaProducerString, byte[] producer; private String topic; Override public void customize(PipeSinkRuntimeConfiguration config) { this.topic config.getEvaluator().getString(topic); // 用 config 提供的 bootstrap.servers 等參數(shù)初始化 producer } Override public void transfer(PipeData data) { producer.send(new ProducerRecord(topic, data.toBytes())); } Override public void close() { producer.close(); } }這個(gè)例子里最關(guān)鍵的也是最有教訓(xùn)的一點(diǎn)資源生命周期。KafkaProducer 這類連接型資源必須在 customize 或 start 階段初始化、close 階段釋放。如果寫進(jìn) transfer 里每批事件都 new 一個(gè) Producer同步吞吐會(huì)肉眼可見(jiàn)地崩掉而且大概率把目標(biāo)端連接數(shù)打滿。4.4 插件的部署與使用完整流程插件寫好之后部署流程是固定的mvn clean package打出 jar把 jar 復(fù)制到每個(gè) DataNode 的ext/pipe目錄不同版本擴(kuò)展目錄名略有差異以官方文檔為準(zhǔn)重啟 DataNode確保插件類被加載。有些版本支持動(dòng)態(tài)加載但重啟是最穩(wěn)妥的做法在 create pipe 語(yǔ)句的對(duì)應(yīng)段里把插件名換成你的全類名并傳入插件需要的參數(shù)create pipe p_kafka with source ( source iotdb-source, realtime true ), processor ( processor do-nothing-processor ), sink ( sink com.example.pipe.KafkaSink, bootstrap.servers 10.0.2.10:9092, topic iotdb-raw );用 show pipes 確認(rèn)狀態(tài)后往源端寫一條數(shù)據(jù)去 Kafka 消費(fèi)驗(yàn)證。注意自定義插件的加載依賴 DataNode 的 classpath。遇到“插件放了卻沒(méi)生效”第一件事去 DataNode 日志搜 ClassNotFoundException第二件事確認(rèn) ext/pipe 路徑下沒(méi)有因?yàn)槭謩?dòng)解壓多套一層目錄。5. 生產(chǎn)環(huán)境實(shí)戰(zhàn)筆記從踩坑到監(jiān)控優(yōu)化管道跑起來(lái)只是開(kāi)始真正考驗(yàn)人的是長(zhǎng)期穩(wěn)定運(yùn)行。這一節(jié)把我實(shí)際踩過(guò)的、以及幫別人排查過(guò)的典型問(wèn)題整理成筆記。5.1 最容易翻車的幾個(gè)典型瞬間先列高頻問(wèn)題清單都是真實(shí)發(fā)生過(guò)的目標(biāo)端磁盤寫滿Sink 寫失敗不斷重試管道進(jìn)入 ERROR 狀態(tài)。磁盤恢復(fù)以后需要手動(dòng) start pipe不要指望它會(huì)自動(dòng)恢復(fù)。history 同步的 start-time 時(shí)區(qū)配錯(cuò)導(dǎo)致漏了前一個(gè)小時(shí)的數(shù)據(jù)。排查時(shí)先看管道進(jìn)度和源端最早數(shù)據(jù)的時(shí)間戳對(duì)不上就基本鎖定是時(shí)區(qū)問(wèn)題。雙向同步?jīng)]做路徑隔離A 同步給 B 的數(shù)據(jù)在 B 端被當(dāng)成新寫入又被 B 到 A 的管道同步回 A形成回環(huán)風(fēng)暴。這個(gè)從架構(gòu)上隔離最靠譜。自定義 Processor 里拋異常沒(méi)處理整個(gè)事件流被阻塞。癥狀是源端業(yè)務(wù)正常、目標(biāo)端遲遲沒(méi)數(shù)據(jù)定位時(shí)看 DataNode 日志里的 pipe-plugin 異常棧。5.2 故障排查的完整鏈路我自己排查詢題的順序是固定的按這個(gè)鏈路走90% 的問(wèn)題能定位到具體一段show pipe p1看總體狀態(tài)和最近延遲先判斷管道是不是活的看源端 DataNode 的 pipe 相關(guān)日志logs 目錄下按天滾動(dòng)直接搜 pipe 關(guān)鍵字看目標(biāo)端 DataNode 日志確認(rèn)有沒(méi)有收到連接、寫入有沒(méi)有失敗如果兩端日志都正常再回到數(shù)據(jù)本身源端查最新寫入目標(biāo)端查對(duì)應(yīng)測(cè)點(diǎn)看時(shí)間差是否合理最后才懷疑進(jìn)度問(wèn)題確認(rèn)管道的 checkpoint 是否長(zhǎng)期不推進(jìn)。這個(gè)順序的核心邏輯是從外圍到核心逐步縮小范圍。最忌諱的是還沒(méi)看日志就 drop 管道重建那等于銷毀了現(xiàn)場(chǎng)。管道定義重建很容易但日志和進(jìn)度信息一丟下次再出問(wèn)題還是抓瞎。5.3 延遲、吞吐與參數(shù)調(diào)優(yōu)同步管道的性能調(diào)優(yōu)方向上無(wú)非四個(gè)維度批量大小與批量時(shí)間Sink 端攢批發(fā)送吞吐高但延遲會(huì)稍微增加。追求低延遲就調(diào)小批量時(shí)間追求吞吐就調(diào)大。并發(fā)通道數(shù)單管道吞吐不夠時(shí)優(yōu)先看 Source 側(cè)讀歷史文件的并發(fā)通道數(shù)。多測(cè)點(diǎn)大批量場(chǎng)景加并發(fā)通常是立竿見(jiàn)影的。目標(biāo)端寫入能力同步的終點(diǎn)還是寫目標(biāo)庫(kù)。目標(biāo)端如果有 TTL 清理、壓縮、亂序合并策略都會(huì)成為隱形瓶頸規(guī)格上不要比源端差。網(wǎng)絡(luò)參數(shù)跨機(jī)房同步要配置連接超時(shí)和重試次數(shù)避免長(zhǎng)鏈路抖動(dòng)把管道打成 ERROR。具體參數(shù)名以你所用版本官方手冊(cè)為準(zhǔn)方向就是“別讓一次性抖動(dòng)變成持久故障”。5.4 我現(xiàn)在默認(rèn)使用的穩(wěn)定性配置清單最后給一份基線建議都是我經(jīng)歷過(guò)多次之后沉淀下來(lái)的默認(rèn)做法架構(gòu)上默認(rèn)只做單向業(yè)務(wù)同步雙活必須做路徑隔離不賭數(shù)據(jù)庫(kù)的去重能力監(jiān)控上把 show pipe 的延遲和狀態(tài)接入告警IoTDB 的 metrics 可以對(duì)接 Prometheus或者腳本輪詢 show pipe 輸出至少保證異常半小時(shí)內(nèi)能被發(fā)現(xiàn)容量上目標(biāo)端預(yù)留源端寫入峰值 1.2 到 1.5 倍的磁盤和內(nèi)存余量同步是有放大效應(yīng)的演練上每個(gè)月做一次 stop/start pipe 加目標(biāo)端斷網(wǎng)恢復(fù)演練確認(rèn)斷點(diǎn)續(xù)傳在你自己環(huán)境里真的可用別到災(zāi)備切換那天才第一次驗(yàn)證文檔上每條管道建完在平臺(tái)描述里寫清楚源地址、目標(biāo)地址、過(guò)濾規(guī)則、創(chuàng)建人和時(shí)間。半年之后沒(méi)人記得這條管道是誰(shuí)建來(lái)干什么的是運(yùn)維事故的開(kāi)始。最后說(shuō)點(diǎn)個(gè)人體會(huì)。我最早用 IoTDB 做同步時(shí)總想著“同步不就該靠獨(dú)立同步工具嗎”后來(lái)把 Pipe 的 Source、Processor、Sink 三段拆開(kāi)看明白之后發(fā)現(xiàn)它其實(shí)是把“日志捕獲、流式處理、連接器”這一整套思路內(nèi)聚到了數(shù)據(jù)庫(kù)自身和關(guān)系庫(kù)的 CDC、MongoDB 的 oplog 同步在精神上是同一件事。插件接口的存在讓這套機(jī)制不至于變成黑盒遇到內(nèi)置能力不夠的同步場(chǎng)景先寫一個(gè)最小的 Processor 或 Sink 驗(yàn)證事件流再逐步加邏輯比一開(kāi)始就設(shè)計(jì)一個(gè)全功能插件要穩(wěn)妥得多。如果你也在生產(chǎn)環(huán)境跑 Pipe建議按上面的排查鏈路把問(wèn)題過(guò)一遍尤其是那些“看起來(lái)沒(méi)報(bào)錯(cuò)但數(shù)據(jù)就是沒(méi)到”的情況多半都出在進(jìn)度推進(jìn)和插件事件處理這兩個(gè)容易被忽略的環(huán)節(jié)上。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美va精品va老师va| 欧美群妇大交乱婬网| 五月婷亚洲精品| 九九九AAA热视频| 天天日天天干天天爽| 精品99在线看| 99热香港| 91性高潮久久久久久久久| 人妻久久久久久久久妻久久久久| 色久九| 色婷婷在线视频| 久久成人性爱| 99热都是精品| 9 9 9色色| A久久| 婷婷五月中文字幕国产| 五月综合视频在线| 婷婷五月丁香综合激情| 婷婷94s| 婷婷五月AV| 五月天婷婷爱丁香中文字幕| 丁香五月婷婷色| 91av传媒高清在线视频网| 五月婷婷综合视频| 日屌日日操日日色| www.lingjunshare.com| 五月天亚洲最大成人| 四季AV综合网| 亚洲中文AV网站| 亚洲欧美婷婷五月色综合| 99热这里只有精品最新网址| 五月丁香婷婷AV天堂| 在线超碰91| 欧美69久成人做爰视频| 国产SUV精品一区二区6| 国产成人精品一区二区三区视频| 五月婷激情| 激情五月,激情综合网| 天天爽在线视频| 九九Y精品热播| 五月天开心网| 精品人妻伦九区久久AAA片| 五月婷婷丁香瑟瑟视频| 激情六月日韩| 日本五月婷婷| www.天天日| 丁香五月瑟瑟| 亚洲日韩26uuu| 日本片日本片祼观看网站在线看中文版网页在线看 | 超碰人人在线| 天干夜夜操| 久热亚洲| 日本色色网| 99久精品视频| 91久久久久久久久久久| 天天干天天日天天操| 成人精品人妻| 狠狠色成人影片| 亚洲99在线| 天天干天天射色综合| 综合精品99| 热99视频精品在线| 婷婷五月丁香色色| 婷婷综合国产| 天天综合 99久久婷婷| 婷婷丁香综合色AV| 中文字幕97超级碰| 久久婷婷青草五月天| 超碰在线观看9| 日本99视频精品免费播放| 色色综合热| 久久久久久久久月丁| 欧美搡BBBBB摔BBBBB| 婷婷五月激情五月激情| 国产69久久久欧美黑人A片| 久操操| 婷婷丁香97| 操逼六区| 美日韩成人| 激情五月婷婷| 在线只有精品| 婷婷五月天综合久久日美女| 婷婷五月天网址| 久久九九精彩| 久久6这里只有精品| 五月综合亚洲| 激情视频综合| 国产又粗又大又爽又黄| 狼人伊人干| 久久一级片| 婷婷色偷拍| 91好好热日本在线| 人妻在线中文字幕久久| 天天爱天天狠天天透| 丁香五月激情网| 色综合99| 色护士综合| 39视频第二区| 综合激情网五月激情| 欧美成人热| site:ornaments52.com| 久久婷婷色| 五月婷婷激情综合| 天天se在线视频| 99精品视频偷拍| 五月婷婷六月丁香激情深爱| 丁香五月天资源网| 中文字幕日本最新乱码视频| 五月天社区婷婷丁香社区| 操一区| 99热国产这里只有| www.99热视频| 欧美碰碰碰| 亚洲综合网 665566| 婷激情五月天视频导航| 久久人妻精品| 久久婷婷五月天大香蕉| 五月婷婷色播视频| 日本天堂免费99| 五月丁香六月婷婷啪啪| 婷婷久久性爱| 日日爱699| 婷婷五月激情图片| 六月激情丁香一道本7777| 色色色区| 色五婷婷开心缴| 开心五月婷婷激情| 91精品综合久久婷婷九色| 夜夜涩涩涩| 欧美日本va| 99视频自拍| 91大神在线免费看视频全集男男一起操| 91精品久久久久| 人人视频色| 五月天婷婷久久视频| 丁香深五月婷婷| 翔田千里 50岁 无码| 日日操日日射| 国产麻豆视频| 26uu| 91打屁股免费看| 久婷五月| 五月婷婷基地| 久草大| 五月天色影院| 综合玖玖偷拍| 九九热视频在线观看| 草草夜夜操| 欧美内射AA| 婷婷五月影院| 99九九中文字幕视频| 9这里只有精品| 99精品久久| 91色在线 | 日韩| 深爱激情av| 91久久婷婷| 亚洲操B视频| 五月天色裸体视频| 99九九热视频免费| 久久99激情| 美女xx不卡| 99热这里只有精品 搜| 噜噜在线| 激情黄色五月天| 五月天社区| VA色婷婷| 1000部毛片A片免费观看| 91色五月| 啪啪啪大香蕉| 大伊久久| 91疯狂操操操操| 亚洲最大视频| 久9久9久9久9久9久9| 五月天婷婷丁香导航| 婷婷久久爱| 婷婷六月久久综合导航| 国产日韩av片| 99热.com| 99er日韩| AV色色天堂中文| 婷婷色五月情| 在线观看996精品| 日本美女五月天| 久婷久婷激情肉| 婷婷丁香六月| 五月天婷婷一起草| 丁香六月婷婷激情| 色99热| 中文字幕,综合,91| 欧美久热| 99免费在线| 91色在线| 日韩精品AV一区二区三区| 亚洲人人96@| 免费看欧美成人A片无码| 密黄站| 免费观看全黄做爰的视频| 噜噜噜色噜噜| 国产精品日日躁夜夜躁| 成人国产欧美大片一区| 丁香五月综合在线观看| 婷婷色中文| 丁香九月久久| 人人看人人摸人人| 五月丁香婷婷综合| 日本在线wwww| 婷婷六月久久综合导航| 99热精地址| 91热手机在线| 亚洲妇女熟BBW| 99热无码| 婷婷五月天另类视频| 婷婷丁香在线| 激情爱爱网站超大免费| 天天操天天爱天天玩| 丁香 亚洲 久久| 99视频这里有精品| 久久丁香综合| 婷婷涩涩网| 94干大香蕉| 26uuu在线观看| 国产99视频永久免费| 国产AV一区二区三区最新精品 | 婷婷五月天综合AV| 夜夜操天天爽| 丁香 婷婷五月| 69人妻人人澡人人爽久久| 激情婷婷久久| 99爱这里只有精品免费视频| 天天艹夜夜爽| 欧美婷婷| 五月丁香婷婷在线| 艹天天射| www狠狠爱com| 在线看的免费网站| 狠狠色色| 99色在线视频| 色播综合| 亚洲综合视频网| 丁香五月激情婷婷| 精品99爱免费视频在线观看| sS丁香五月婷婷| 狠狠婷婷日韩| 激情综合色婷婷啪啪六月天| 亚洲综合视频网| 91女人18毛片水多国产| 色婷婷很很丝袜| 97操在线视频| 日本色五月| 26uuu淫色| 色色五月天网站| 久久全意婷婷| 丁香婷婷五月份| 五月天天天开心激情网| 日本操碰碰| 婷婷色丁香五月| se99视频| 久久久久久久久月丁| 久婷五月| 激情婷婷色色| 夜夜骑天天操| 99精品在这里| 婷婷五月天激情在线观看| 热久久这里只有精品| 九月丁香婷婷| 色婷婷久久7777| 99热99干| 欧美熟女99| 五月天婷婷綜合院| 色玖玖综合网| 亚洲激情亚洲激情| 久er7久热| 精热在线综合网| 啪啪综合网| 免费啪啪亚州视频| 大香蕉 伊人夜| 超级碰碰视频无码| 午夜九九九九九九九九九九九九九| 久久久9久| 68热超碰在线| 色99视| 久久午夜丁香| 91成人品| 丁香五月婷婷无码AV| 久久最新色色色| 色色99| 大香蕉520| 激情欧美婷婷| 九月色婷婷综合| 婷婷五月骚厕所| 欧美色爱五月天| 噜噜色com| 色婷婷五月天视频网站| 色综合婷婷| 久久久这里有精品| 五月天丁香婷婷久久九| 无码髙清| 天天草天天爱| 久久这里只有精品热在99| 国模淫穴色图| 91成人品| 婷婷99视频全集高清| 五月丁香激情综合网官网| 色婷婷aV四虎| 99视频在线观看视频| 综合色婷婷| 五月婷婷三级| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 丁香八月综合激情| 黄色片精品| 99精品在线播放| 天天日夜夜B久久| 色综合日日| 色5月丁香婷婷| 九九性视频| 亚洲中文字幕在线观看| 天堂色婷婷| 色七色九九| 99国产性感视频| 开心深爱激情网| 婷婷午夜天| 综合 激情 婷婷| 人妻久久婷婷| 六月丁AV| 在线观看国产高清视频免费网站 | 97香蕉碰碰人妻国产欧美| 亚洲操操操| 久久六月综合| 亚洲 无码 中文字幕 中出| 久久婷婷六月综合| av国产精品| 9热精品| 性色人人爽| 99热中国| 野战J办公桌椅H| 婷婷五月综合色中文字幕| 成人做爰A片免费看网站找不到了| 天天夜天天色天天| 亚洲精品无码一区二区| 丁香六月啪啪啪| 久99热| 99热这里只有精品9| av高清无码| 成人AV在线网站| 亚洲综合热| 天天干天天干天天| 99这里只有精品视频免费| 婷婷日日夜夜| 九九色婷| 色综合久久伊伊婷婷五月| 丁香激情久久| 丁香五月777| 丁香五月停停av| 天天日天天色| 色婷婷基地在线| www.91婷婷| 国外亚洲成AV人片在线观看| 五月丁香六月婷婷,婷| 免费黄色AV| 99福利视频导航| 丁香色情五月天| 99ri在线观看视频| 99性视频| 色色无码| 五月丁香六月婷精品视频| 久久久精品色| 婷婷五月中文在线| 日日夜夜干| 夜夜夜天天操| 久久久久婷婷| 婷婷五月天受日本法律保护| 国产激情久久久| 丁香五月色| 91综合色| 99啪啪视频| 久久99久久99精品免观看粉嫩| 婷婷伊人五月丁香天堂网| 日本五月天一页| 九九爱激情| 婷婷区日本| 五月天婷婷久久| 丁香六月天AV| 色无婷婷| 六月丁香好婷婷| 久久久av久av久片一区二区| 99热日韩| 久久9RE热视频精品98| 这里只有精品免费视频在线观看| 五月天色站| 日日杆天天| 色婷婷色综合激情91| 丁XX 成人| 最新av在线观看| 激情婷婷色色| 国产va在线视频| 无码少妇高潮喷水A片免费| 狠狠五月丁香色婷| av婷婷丁香| 五月婷婷丁香在线| 99视频在线| 色九九综合| 亚洲五月丁| 五月婷护士| 3www激情| 亚洲精品电影| 色噜噜丁香| 色色综合网络| 东京热免费视频| 久热免费视频| 五月婷婷丁香婷婷| 五月天综合在线| 久久精品国产一区二区三区四区 | 91凹凸在线| 婷婷大香蕉| 99热最新| AV人人操| 五月激情综合激情五月| 97在线日本| 99热这里只有精品16| 深爱五月天 开心网| 亚洲无码激情| 中文字幕网伦射乱中文| 五月激情在线| 色五月天成人在线| 九九99免费理论| 大战熟女丰满人妻AV| 激情丁香五月天图片| 久久久.COM| 免费观看欧美成人AA片爱我多深 | 91色吧网| 日本91在线播放| 久久精品4| 色婷婷4| 99热第一页| 大香蕉久操| 高清无码入口| 色小说五月婷婷| 亚洲AV综合网| 婷婷五月精品| 国产日产亚系列精品版优势| 色色操| 五月丁香欧美| 久久五月天综合视频网站| 天色色综合网| 麻豆观看夏晴子| 97碰在线视频| 色婷婷天堂| 狠狠久综合| 久久婷婷热| 97热超碰| 五月婷视频| 色播五月婷婷| 伊人91| 婷婷深爱五月天| 亚洲色五月天在线| 99这里是99在线视频| 97极品在线| 婷婷色网址| 少妇被下春药玩弄A片| 亚洲不卡| 人妻激情在线| 天天日日夜夜| www.天天干| 色狠狠色噜噜噜a天堂一区| 五月丁香怕啪啪| 超碰大香蕉网| AV九九| www999日韩精品| 激情五月婷婷色色| 99国产欧美视频| 色婷婷yy久| 五月丁香六月激情综合| 啪啪啪大香蕉| 中文字幕丰满孑伦无码专区| 开心五月激情网| 午夜五月天| www.精品99| 日本色综合| 99热久草| 26uuu欧美亚洲日韩| 99 色色吧| 色五月婷婷五月丁香五月激情五月视频| 99男人天堂| 五月丁香婷婷色色色| 97精品自拍视频| 久久区区一二三av| 99乱视频| 99re66热这里只有精品| 深爱五月婷婷开心中文字幕| 伊人色欲五月天| 九九热这里只有精品31| 天天日天天爽夜夜爽| 色婷婷五月中文字幕在线dvd| av免费人人| 狠狠色婷婷777| 激情六月色| 182TV大香蕉| 91viP在线看| 精品人妻一区二区三区四区不卡在| 91日本在线观看| 伊人99热| 色婷婷成人做爰A片免费看网站| 精品少妇人妻AV无码专区偷人 | www.色综合.com| 婷婷久月| 免费视频WWW在线观看网站| 一级片操逼视频| 五月婷护士| 七七色色综合| 99热精在线九九久久保| 丁香婷婷激情网站| www.99婷婷| 色色丁香| 十二区无码| 九九青草热| 婷婷激情5月| 综合婷婷五月丁香在线观看| 激情綜合網址| 精品人妻伦九区久久AAA片| 色五月丁香com| 五月丁香六月婷婷的女人| 精品99在线看| 久久黄色免费视频| 538在线精品| 日韩成人AV在线| 蜜臀AV在线观看| 日韩三级视频一区二区| 五月天婷a在线| 五月播播| 久久色婷婷| 久在线88综合| 色色五月天丁香| 能看的av片| www.日本91| 极品少妇XXXX精品少妇偷拍| 久久精品99久久久久久| 亚洲色涩视频| 婷婷久久综合| 天天日日夜夜| 99网址在线看| 丁香六月色婷婷| www.夜夜| 久久总和99| 99热在线中文字幕| 久久九九热视频| 丝袜熟女一区二区三区| 激情婷婷五月女| 婷婷五月天AV| 成人五月天。COM| 六月丁香综合| 久久久久久人妻| 色婷婷在线视频| 九月综合| 天天日天天草| 天天插天天射| 久久婷婷青青| 婷婷丁香五月天在线视频| 久热AA| 激情九九九九| 思思久热6| 丁香六月啪啪| www.99久久久| 91狠狠综合久久久| 91免费看片| 天天做天天爱天天玩夜夜爽| 狠狠CAO日日穞夜夜穞AV| 亚洲AV综合在线观看 | 婷婷综合激情| 91欧美日韩| 99热日本| 黄桃AV无码免费一区二区三区| 伊人久久婷婷| 五月婷色色| 婷婷玖玖五月天| 日本VA视频| 九九99九九精品免费 | 人人摸人人干人人做| 伊人综合网站| 狠狠狠狠狠狠狠狠草| 国产精品色| 婷婷色色网| 99热婷婷| 国产亚洲色婷婷久久99精品91| 91久久| 五月婷婷啪啪网| 国产免费一区二区三区三州老师F1F1.CC| 激情玖玖综合网| 六月色丁香中文字幕| 亚洲 在线 另类| 黄涩毛片| 超碰人人摸AV| 精品人妻伦一二三区久| 亚洲成人网站在线| 久久久久久久97| 操逼毛片国语对白| 99视频| 99热精品网| 精品国产一区二区三区四区阿崩 | 天天摸天天肏| 婷婷五月天播| 成人无码精品1区2区3区免费看| 另类综合激情| 欧美久久久中文字幕| 综合色激情| 国精产品一区二区三区| 色五月播五月| 天天色月| 人人操9| 天天插,天天射| 欧美日韩国产一区二区| 少妇高潮一区二区三区99欧美| 婷婷久久五月丁香| 极品少妇XXXX精品少妇偷拍| www.久久五月天.com| 99热在线网站| 日日色综合| 亚洲操逼网| 99色综合| 久久99网| 综合激情五月丁香9999久久精| 国产无遮挡又黄又爽免费网站| 天天干天天射综合网| ...婷婷五月综合不卡,国产在线手机| aa久久| 无码一区精品一区视频| 2020日日干| 97碰| 全部老头和老太XXXXX| 婷婷五月丁香手机在线视频| 色五月婷婷av| 丁香六月成人| 91九色精品熟女内射| 南京搡BBBB搡BBBB| www.射伊蕉婷婷| 综合色久| 国产九九一区二区三区| 天天插天天很| 永久免费视频| 婷婷五月天久| 99热这里| 免费视频无码| 国际国外精品欧洲南美洲专区无码不卡| www.激情五月天.con| www.久久99| www色五月天| av中文在线| 七七久久综合| 色久综合| 色啪影院| 天天爽天天摸天天爱| bbwcuckold精品熟妇| 玖玖婷婷五月天毛片| WWW,五月| 91久久九久久九久久九久久九久久| 啪啪啪啪五月天| 丁香婷色| 成人人操| 激情婷婷护士激情| 久久久天堂国产精品女人| 狠狠狠色激情综合适合| 五月丁香人人婷婷在线观看| 天天搞夜夜爽夜夜爽| 日本美女上人| 99精品偷拍视频| 一区二区三区四日本| 色婷婷影院| 亚洲综合另类| 色色色色色综合| 色丁香婷婷美女视频网站| 思思99热热热99| 9久久婷婷国产综合精品性色| 碰99在线| 综合色、色综合| 91精品久久久久| 激情五月婷婷在线观看| 亚洲色色香蕉| 色色五月婷婷丁香| 一区二区三区四区无码| 夜夜天天久久婷婷| 五月天·www·com| 五月丁香激情五月天| 色10月婷婷视频| 久久在这里99| 99热这里只有在线| 丁香久月| 五月婷婷和六月| WWW色五月天| 天天舔天天插天天爱| 婷婷九月激情| 91色久| 国产精品社区| 狠狠色丁香| 欧美在线97| 五月丁香成人网| 色婷婷丁香五月| 97干在线| 婷婷五月丁香五月丁香| oumeisesewang| 伊人五月婷婷| 热久久66| 日韩在线婷婷五月天综合| 99re最新地址| 婷色五月天| 99九九精品| 国产精品VA在线| 看全色黄大色大片| 婷婷五月六月| 国产偷人爽久久久久久老妇APP | 国产美女无遮挡裸体毛片A片| 亚洲妇女熟BBW| 国产肥白大熟妇BBBB视频| 99热国品| 激情国产五月| 激情 婷婷| 丁香五月天堂| 深爱激情久久| 九九热最新| 99热新网址| 99精品热| 欧美精品狠狠色丁香婷婷| 亚州色综合| 丁香大香蕉| 亚洲熟妇AV综合网五月丁香伊人 | 天天干天天拍| 五月丁香六月| 殴美97色| 九月色婷婷| 婷婷五月色丁香在线看| 激情丁香五月婷婷| 久久99久久99久久99人受| 玖玖婷婷色欲| www.99精品在线| 熟女重口味αV| 丁香五月综合AV在线| 日韩成人av在线| 国产SUV精品一区二区6| 天色综合网| 六月婷婷深深爱| 婷婷五月天干干| 91精品国产91久久久久青草| 久久久天堂国产精品女人| 亚洲色图81p| 99re久热只有精品6在线直播| 干婷婷五月天| 婷婷精品视频| 99热黄| 色一情一乱一乱一区91Av| 蜜臀九九九九| 久久婷婷五月综合| 97伦色婷婷| WWW,色五月| 日日爽日日爽| 狠狠爱综合网| 九九色影视| 五月婷婷啪啪啪啪| 九九热精品在线| 欧美色97| 色婷婷五月天视频网站| 欧美电影在线观看| 99热最新| 亚洲六月婷婷| 婷婷成人基地| 色五月婷婷中文字幕在线观看| jiqingliuyuetian| 亚洲精品又粗又大又爽A片| 啪啪99| 亚洲五月色| 精品一二三区久久AAA片| 九九aV| 六月激情婷婷| 97五月婷| 99热久久这里只有精品| 四虎成人精品永久免费AV九九| 99亚洲精品综合在线| 色婷丁香五月| 亚洲另类在线观看| 超碰97干| 99免费在线视频| 欧美成人AAA片一区国产精品| 亚洲精品影视| 久久人妻人人| 99久久五月丁香野外| 天天橾夜夜爽| 日韩啪啪视品| 久久人妻在线| 99婷五月| 蜜桃五月天色| 亚洲丁香五冃97色| 亚洲中文乱字字幕线在永久| www.色五月| 深爱五月激情综合| 九九99精品| WWW,激情五月天,COM| 久久三级视频| 亚洲黄色影视| 久操婷婷| 五月丁婷香| 91婷婷丁香五月天免费视频网站| 狠狠干天天日| 五月丁香色综合| 天天干天天做| 97欧美在线| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 丁香五月花| 五月丁香五月激情综合色综合| 五月丁香综合激情| 激情五月婷婷在线区| 五月综合久久| 久久五月婷天天干| 99久久婷婷综合| 激情深爱五月| 欧美性爱一区| 伊久久婷婷| www久| 色情五月综合婷婷| 五月的婷婷六月丁香| 熟妇人妻中文字幕无码老熟妇| 色 丁香婷婷| 伊人网色婷婷五月天| 日日夜夜小色哥| 综合爱久久| 色婷婷久久综合| 色婷婷综合网| 亚洲中文字幕在线观看| www激情五月天| 一级内射毛片| 天堂久久婷婷| 欧美色播综合在线观看| 亚洲天堂色| 97碰碰视频在线观看| 丁香六月色婷婷| 九九无毛| 五月色婷婷在线观看| 天天干电影| 亚洲AV成人一区二区在线观看| 超碰在线精品| 伊人久久五月天综合| 99ri国产在线| 五月婷婷色| 欧美视频在线观看噜噜| 影音先锋91男人资源在线播放| 亚洲一区二区无遮挡A片| 色情婷婷| 婷婷六月网| 97色碰碰公开视频| 婷婷色网站| 玖玖九九99| ′久久99一| 天天操综合网| 婷婷爱五月天| 玖玖在线资源视频| 日本三级网址| 国产精品99久久久久久久女警| 天天情色综合网| 丁香五月激情五月色综合| 五月丁香婷婷色| 五月停停丁香| 丁香久久| 九九中文字幕九| 综合激情五月丁香| 天天插天天爱| 综合激情综合啪啪| 色婷久| 成人午夜天| 亚洲精品乱码久久久久久按摩观| 玖玖婷婷免费| 激情五月天在线视频| 久久这里有精品视频| 亚洲色婷婷| 日本 色综合| 九九re精品视频在线观看| 丁香五月天啪啪激情综合网| 深夜男女福利刺激影院一区完整| 1024欧美看片| 天天干天天干天天干| 亚洲色网络| 五月丁香AV、伊人业余、性色熟妇| 人人操人人干AV| 婷婷狠狠综合网入口| 日韩在线观看亚洲| 思思热久久久在线| 色青青五月| 人人干女人| 婷婷亚洲在线| 精品夜夜澡人妻无码AV| 第四色大香蕉| 五月激情综合深爱| 丁香啪啪| 成人一级片| 91性人人| 久草五月婷| 色色色色色色色五月| 久色网址| 五月丁香五月综合欧美| 国产伊人五月天| 日韩欧美一级大黄网站| 日本乱论99| 色五月综合97| 嫩草视频。| 99热每日| 亚洲妇女熟BBW| 久久er99热精品一区二区 | 99干在线视频| 免费无码毛片一区二区A片| 色色色99| 五月色网| 色婷婷香蕉| 日日噜噜夜夜狠狠久久丁香六月| 成人短视频在线免费观看| 99热欧美偷拍| 热婷婷av| 婷婷久久婷婷色五月| 丁香五月婷婷操逼| 亚洲免费成人电影AV| 以及AA大片看看| 97搞在线| 日韩人妻在线播放| 五月色婷婷夜色| 大香蕉久久婷婷精品综合| 18久久| 色九九七七| 影音先锋男人av资源站| 婷婷五月天丁香综合网| 99热在线播放精品| 久久一级免费黄色片| 激情婷婷丁香| 婷婷五月丁香综合网| 91综合视频丁香| 亚洲中文AV网站| 婷婷五月天首页激情| 丁香婷婷影院| 狠狠色丁香久久婷婷综合五月| 激情伊人网| 九九操操| 色宗合,宗合网| 综合久久五月| 色五月丁香婷婷在线观看| 综合五月丁香六月婷婷| 亚洲中文字幕网| 九九激情网| 久久婷婷丁香花综合网| 色婷婷成人久久| 五月婷六月| 五月婷婷丁香深深爱| 激情婷婷丁香色五月综合| 99激情视频热| 亚洲中文乱字字幕线在永久| 婷婷婷婷色| 激情六月丁香| 国产亚洲精品AAAAAAA片| 新激情五月天| 激情图片婷婷| 天天婷婷天天| 色婷婷a三区麻| 人人操99| 色婷婷激情视频| 夜色综合网| 久久婷婷亚洲| 九九久久腿| 怡红院 久久| 色色色欧美色色| 色欲婷婷五月天丁香| 九九热在线精品视频| 99热99精品在线观看| 丁香婷婷色色| 欧美噜噜免费观看| 777色色色| 26UUU欧美| 婷婷天堂综合网| 激情伊人| 激情五月少妇| 夜夜爽天天爽| 超碰资源在线| 天堂婷婷丁香六月网| 婷婷午夜激情| ztEJj| 只有精品视频在线观看| 懂色AⅤ| www,色婷婷| 婷婷五月天VI| 丁香五月影院| 五月天婷婷综合免费| 亚洲天天操| 婷色视频| 99热这里有精品2| 婷婷久草| www.狠狠操| 丁香88AV五月婷婷| 婷婷在线观看五月天在线视频| 五月婷婷69| 99亚洲天堂| 婷久久高清| 激情五月天综合网站网站网站| www.五月丁香| 色色色香蕉五月婷| 色欲人妻综合aaaaaaaa网| 性色天| 超碰永久在线| 综合狠狠干| 99色免费观看全部| 天天综合网色欲香| 五月天色婷婷图片| 97精品自拍视频| 五月婷婷深深爱| 五月伊人91| 久久er九九| 婷婷伊人综合中文字幕| 国产黄色大片| 啪啪六月婷婷| 国产精品99久久久久久久女警| 五月丁香久久网| 激情五月天开心| www网站在线观看| 另类激情五月| 色五月激情五月开心五月| 婷婷伊人综合中文字幕| 人人色婷婷| 草久私拍| 美女激情婷婷| 成人无码精品1区2区3区免费看| 99热偷拍| 九九色综合| 五月婷婷欧美| 日韩九区| 激情久久五月天| 亚洲最大五月六月丁香婷婷| 丁香婷婷浪潮AV久久综合| 天天舔天天插天天干| 另类少妇人与禽zOZZ0性伦| 色婷婷婷av| 天天操夜夜操| 九九九九国产| 99综合视频| 九九無碼| 五月天婷婷小说| 亚洲激情无码久久| 99热在线观看| 天天操九九插| 色五月丁香A欧美com | 超碰高清在线| 婷婷综合九月| 久久人妻精品| 日本九九九九| 色色婷| 五月的丁香六月的婷婷| 强辱丰满人妻HD中文字幕| 亚洲色欲欧美一区二区三区| 久久亚洲婷婷| 丁香五月日啪| 欧美性爱丁香五月| 色婷婷五月天视频在线| 丁香五月激情综合婷综| 6月丁香婷婷激情| 婷婷五月激情小说| 停停五月色宗合| 日本超碰在线| 欧美激情综合色综合色| 91/九色黑人| enecarbon-materials.com污K127封锁请涟系@wip1688 | 九九精品热播| 婷婷五月激情图片| 99视频超级精品| 天天爱天天操| 婷婷色无码| 无码一级片| AV性爱网| 五月丁香六月在线欧美| 九九99九九精品免费| 蜜臀av无码久久久久久久久| 欧在线一区| 日良久久| 五月花成人网| 日韩AV中文字幕在线| 六月婷婷激情| 丁香六月婷婷综合麻豆| 中文字幕久久婷九女同| 99自拍视频在线| 婷婷成人综合五月| 日韩精品电影| 三男玩一女三A片| 婷婷五月综合激情免费| 色综合综合色| 伊人99久久| 國語久久婷| 开心五月综合| 天天色播| 丁香花综合永久入口| www久| 丁香婷婷成人网| 91人碰| 国产av天堂| 五月天另类激情在线| 人妻熟妇国产精品| se色婷婷视频| 久久停停超碰| 狠色色狠网| 这里只有精彩小视频视频网站| www.9色色色| 亚洲视频在线观看| 色玖玖综合| 色色色.com| 色婷婷www| 日本久久网| 狠狠爱婷婷| 婷婷色五月情| 婷婷五月天成人五月天| 久久香视频| 无码视频国内精品久久久| 色人久久| 天天爽天天干| 婷婷五月丁香色情| 91狠狠综合久久久久久| 色九月综合网| 99在线观看精品视频| 99热6这里只有精品6| 桃色五月婷婷| 大香蕉五月天婷婷| 99热久草| jizzdr| 国产精品蜜臀99| 婷婷色在线| 欧美在线视频免费播放| 91av视频| 乱精品一区字幕二区| 国产成人网址| 91精品久久久久久77777| 丁香婷婷月| 激情五月天色婷婷| 中文aV网| 日本本土色网第一区| 亚洲啪啪视频| 另类激情五| 日韩三及成人AV片| 激情丁香久久久久久| 亞洲自怕| 婷婷五月色播天| 免费观看18视频网站| 色五月六月| 91丨九色丨白浆秘| 26uuu国产| 五月婷婷婷婷| 五月天婷爱综合| 色综合xx| 丁香无月在线观看| 99热综合| 亚洲成人综合在线| 狠狠色丁香久久久婷| 成人AV在线网站| 天天色天天射天天日| 97人人搞| 超碰在线观看9| 狼人婷婷久久| 色婷婷a v| 人人妻人人澡| 99久久久久久| 亚洲中文字幕av| 99久久9| 九九热这里只有精品5| 成人精品一区二区三区四区五区 | 丁香五月天激情婷婷丁香六月| 超碰女人天堂| 综合亚洲六月婷婷在线| 丁香五月91| www.色婷婷| 狠狠色狠狠干| 色播五月丁香综合| 激情五月天免费视频| 婷婷五月六月丁香综合| 五月花激情| 婷婷五月色惰| 色~性~乱~伦~噜| 欧美槡BBBB槡BBB少妇| 国外亚洲成AV人片在线观看| 久久er99热精品一区二区| 五月天婷婷激情综合| 天天日日夜夜| 色狠狠综合| 色色色色色色网站| 婷婷丁香社区| 黄色五月婷| 欧美色色色色色色色色色色| 九月婷婷久久| 丁香六月婷婷综合麻豆| 天天婷婷色六月| 伊人久久大香蕉网| 婷婷五月六月丁香| 五月丁香在线| 亚洲偷| 99久久.www| 天天插天天插天天操| 五月激情开心婷婷| 国产色色色色| 久操无码| 色色色色五月天| 97色五月婷婷在线| 色色五月天com| 久久视网36| 九九草热在线观看| 五月婷婷丁香婷婷| 99热首页| 人妻有码乱操| 色激情五月| 丁香六月婷婷缴情欧美| 人人摸人人干人人做| 久草大| 97色婷| 影院久久久| 久久久99婷婷久久久久久| 色婷婷五月天激情久久| 久久九精品| 五月天婷婷基地| 97在线/日本| 深爱激情网婷婷| www.色九月| 国产又爽又猛又粗的视频A片| 狠狠干在线| 五月亭亭性| 丁香五月天堂网| 9l视频自拍九色9l黑人| 丁香香蕉婷婷| 99re这里只有精品国产99| 直接看的av| 天天爽夜夜操| 日本视频不卡123区| 人人妻人人澡| 五月开心深深爱激情综合 | 天天操天天爱天天日| 婷婷激情五月色综合| 国产这里只有精品| 九九综合图片网| 五月激情在线| 国洲夜色亚热在线久久| 十月丁香婷婷| 99爽视频| 墨西哥毛片内射精| 亚洲色精彩| av在线免费网站 | 噜噜色com| 色婷婷六月| 色视频2025| 亚洲性视频| 草久私拍| 婷婷五月天手机版视频| 色婷婷婷婷| 婷婷九月丁香天堂丁香天堂| 狠狠干激情五月| 久热AA| 久久99免费视频| 国产性色蜜乳| 日韩无码专区| 六月丁香大香蕉| 婷婷五月天在线观看免费| 色婷婷综合久久| 99综合婷婷五月| 国产色色视频| 久久只有精| 最新色色五月天| 久久99精品久久久久久三级| 婷婷久久色| 最新婷婷五月丁香| 色婷婷六月精品| 九九99热| 日本黄色在线观看| 99精品在| 国产精品久久久久9999小说| 色色狼人综合|