免费国产精品自在自线-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
返回資訊列表
第四色五月激情网| 婷婷六月综合基地| 久久caop| 狠婷婷五月| 蜜桃五月天| 色噜噜狠狠色综合AV兰草影视| 色99日韩| 色色综合色视频| 久久人人妻| 9久热精品在线视频| 成人羞羞啪啪 全 视频| 蜜乳久AV| 五月婷在线视频免费看| 天天综合网~91综合网| 色五月婷婷久久| AV在线大香蕉| 免费精品99| 丁香九月婷婷| 最近中文字幕大全免费版在线 | 色视五月天婷婷| 国产精品色情AAAAA片软件 | 丁香五月欧美| 激情小说五月丁香在线视频观看视频| 少妇性按摩无码中文A片 | 国产成人AV在线| 婷婷激情综合网| 成人丁香五月| 九九热最新| 电影蜘蛛女| 99精品国产在热久久| 五月开心啪啪| 97热九九| 五月天开心色情网| 五月丁香六月婷婷免费视频| 97香蕉人人在线观看| 激情小说五月天| 中文字幕激情综合| 欧美黑人巨大性生话| 就爱啪啪婷婷| 久久丁香九| 六月婷久久| 五月婷在线观看| 日本综合色图| 99精品热| 免费99情趣网视频| 青青999| 亚艹艹| 51XX嘿嘿午夜无码| CHINESE熟女老女人HD视频| 亭亭五月激情亚洲在线| 色综合综合色| 91五月花丁香| 婷婷五月天激情小说| 五月丁香六月婷婷免费视频| 亚洲激情婷婷| 99在线免费视频| 婷婷色正月| 99热主页日本| 青青操日本摸摸看看| 另类精品视频在线观看| 婷婷六月色播| 六月丁香视频网站| 日本97在线| 亚洲人妻av| 操日挥操日日| 99久久精彩视频。| 91pornav在线| 一本色道久久88加勒比| 日本色色图| 欧美五月丁香在线观看| 99热最新地址在线| 五月婷婷亚洲| 涩五月丝袜婷婷| 深爱激情六月天| 日本va欧美va欧美| 婷婷五月丁香高清无码| 激情久久久久| 九九色院| 五月久久丁香| 亚洲亚洲人成综合网络| 九九色综合九九色| 久久久99免费视频| 婷婷婷婷色| 国产精品久久久99视频| WWW99热| www,99视频| 日韩欧洲亚洲| 免费在线观看欧美激情xx小视频| 六月丁香好婷婷| 婷婷激情五月天7| 婷色视频| 操操操91| 丁香五月色激情| 99热这里只有精品免费| 五月天精品视频| 欧美色色网| 天天噜天天爱| 五月天色婷婷激情综合| 色九区| 五月天丁香欧美激情| 国产毛片欧美毛片久久久| 99色综合网| 五月丁香啪啪综合| 亚洲久久激情| 欧美色婷婷| 五月丁香成人版| 久99| 97福利视频| 色www.con| 婷婷五月激情综合网| 成人综合网站| 国产无套精品一区二区| AA片在线观看视频在线播放| 亚洲国产精品SUV| 91九色精品女同系列| 五月开心激情| 天天干天天色综合| 激情综合五月婷婷| 五月天成人在线视频网站| 丁香五月av在线| 欧美狠狠草| 东京热伊人| 91日韩美女被插视频| 在线亚洲综合网| 国产黄大片在线观看画质优化 | 色色色色色综合| 狼人婷婷综合| 日韩人妻在线观看| 五月天激情小说| 久草大| 婷婷婷婷色| A久网| 伊人丁香花综合影院| 婷婷丁香高潮了| 亚洲va欧美| 99久久综合网| 精品视频99看在线视频| 六月婷伊人| 天天婷婷操| 丁香五月第九色| site:minyis.com| 亭亭丁香aV| 99er这里只有精品视频| 五月丁香天天| 五月丁香在线综合| 婷婷五月丁香91| 九九热精品6| 成人五月天视频播放| 五区毛片七区毛片| 日日夜夜狠狠| 久99热| 99久久婷婷| 色色五月天婷婷| 婷婷中文字幕| 黄桃AV无码免费一区二区三区| 亚洲综合色婷| www,超碰| 亚洲五月天,激情视频| 变态另类9| 激情综合5| 综合亚洲五月天| 亚洲一区先锋影音| 五月婷婷六月丁香在线视频免费在线观看| 粉嫩av蜜桃av蜜臀av| 亚洲激情综合网| 亚洲精品午夜国产va久久成人| 伊人激情综合网| 亚洲成人网站在线观看| 97啪在线观看视频| 国产.亚洲.欧洲视频在线| 色五月婷婷基地| 91丨九色丨国产打屁股| 伊人五月久久| www热久久yy9| 91综合在线| 九九热视频精品999| 国产操逼视频网站| 丁香六月婷婷综情欧美| 五月婷天天搞视频| 丁香六月婷婷综合激情欧美| 曰韩少妇内射免费播放| 冬月かえでAV无码播放| 五月天婷婷三级黄| 亚洲精品午夜国产va久久成人| 日熟女| 精品久久久人妻| 影音先锋91网站在线观看| 亚洲成人精品三区| 婷婷偷拍网| 五月天黄色激情小说| 天天做天天爱天天玩夜夜爽| 五月丁香综合激情网| 色婷婷呢狠禁久禁| 日韩成人av在线| 色婷丨日丨天丨综合久久| 夜夜夜夜撸夜夜操| 欧美槡BBBB槡BBB少妇| 激情av网| 久久婷婷五月综合色播| caop在线视频| 92久久久| 都市激情五月婷婷综合| 天天日天天爽夜夜爽| 少妇激情五月天| www五月婷婷88导航| 91性人人| 五月色天五月色| 成人电影AV在线观看| 大战熟女丰满人妻AV| 久九九热| 性生活久久人妻| 亚洲精品国产成人AV在线| 亚洲V国产V欧美V久久久久久| 天天干天天曰天天射| 99热这里只有精品国产免费| 色丁香婷婷| ..真实国产乱子伦毛片| 狠狠搞五月天| 婷婷五月天激情电影| 9久热精品在线视频| 99热丁香五月| 五月丁香激情婷婷| 色色色色色色色色色影院| 婷婷五月大香蕉| 就爱射中文字幕资源网| wwwss在线观看| 色九九九九| 五月 丁香 欧美| 九九香蕉网| 久久月天堂| 天天做天天视天天谢| 色丁香五月| 熟妇内谢69XXXXXA片| AV在线观看网站| 五月婷婷激情综合视频| 国产古装妇女野外A片| 九九九九九九毛片| 直接看的AV网站| 色婷婷五月天| 六月丁香五月婷婷首页| 亚洲色网络| 在线超碰91| 九玖欧洲亚洲| 久操欧美在线观看97| 噜噜噜噜噜在线| 亚洲成人五月天| 国产欧美精品AAAAAA片| 五月丁香六月婷婷不卡免费无码 | 丁香五月天社区婷婷| 五月婷婷色丁香| 97人妻碰碰碰久久香蕉| 97碰碰视频| 日本激情五月天‘| 9l视频自拍九色9l黑人| 天天操天爱综合| 色婷婷狠狠| 九九久久精品| 开心五月深爱五月| 激情五月天激情网| 亚洲激情四射| 激情综合网,婷婷| www.五月天婷婷| 五月天激情黄色网址| 美国天天日天天操| 午夜微拍福利| www.99成人视频| 丁香六月天婷婷色| 五月婷婷网站| 91九色成人原创视频| 久久开心五月婷婷| 日本97人人| 综合色综合| 爱99干99| 色五月婷婷内射| 337久久| 五月婷婷免费在线观看| 婷婷五月天av小说| 五月开心激情| 狠狠色丁香久久综合婷婷亚洲成人福利| VA婷婷亚洲| 五月天婷婷综合色| 日韩九九| 91丨九色丨熟女丰满| 97超碰在线免费观看| 97人人爱人人操| 婷婷六月综合基地| 五月婷婷色播| 婷婷丁香五月天激情| 久久九九视频网站| 97在线观视频免费观看| 99热精地址| 香蕉AV777XXX色综合一区| 深爱婷婷色| 99国产精品白浆在线观看免费| 婷婷五月激情基地| 久久探花91swag| www夜夜操comwww| 激情综合婷婷久久| 9+1视频网址| 色色综合成人网| 狠狠色色| 色五月丁香伊人五月| 日韩精品电影| 婷婷综合激情| 操丝袜视频影院导航| 亚洲色频| 人妻熟妇国产精品| 丁香婷停五月激情综合深爱| 2022人人操人人看| www.99热| 欧美爆乳一区二区三区| av在线观看免费| 99亚洲天堂| 九九热99精品在线| 99人妻碰碰碰久久久久视| 丁香五月综合| 99热这里只有精品无码| 在线网黄| 五月丁香六月片| 人妻精品一区二区三区| 99热日本| 人妻在线观看视频| 久久九九99| 天天爽曰日爽| 午夜九九九九九九九九九九九九九| 婷婷黄色| 激情婷婷丁香色五月综合| 一区中文字幕电影| 丁香色婷婷| 午夜国产精品AV在线播放| 五月天丁香婷婷社区| 久久激情五月| 婷婷五月天久久| 色婷婷av在线观看| 色444综合网| www.天天干| 天天色综和网| 伊人热婷婷| 人人播| 五月天激情视频五月天| 婷婷五月天最新综合你懂的| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 婷婷五月电影院| hd五月婷婷在线| 中文字幕五月久久婷| 日日干夜夜干| 婷婷五月天激情综合| 激情www.98com| 91|九色|动漫| 中文字幕精品无码一区二区| 欧美日韩99| 美女主播野战视步页| 激情无码网| 懂色av粉嫩av蜜臀av| 伊人五月婷婷| 新精品99| 深爱激情四射| 狠狠色综合网| 精品99在线看| 婷婷国产五月天17c| 激情五月激情综合网| 色五月婷婷影院| 秋霞午夜理论| AA丁香综合激情| 日韩精品99久久| 日本人妻伦在线中文字幕| 国产婷婷五月天| 人妻肉射免费观看| 日本色婷婷综合| 99啪99| 超碰cap| 另类小说色婷婷| 噜噜狠狠色综合久| www.婷婷五月| 亚洲人妻五月丁香婷婷| 黄色99网| 日本天天综合| 久久九九怡红院| 亚洲婷婷基地| 久久亚洲无码| 天天操天天干天天射| 九九碰九九爱97| 日本色图综合| 99狠狠| 色五月婷婷五月天激情综合| 色五月色五天色情网| 第四色色六月色综合| 97色色色| 中文字幕婷婷| 久久婷婷网| 伊人九九综合| 99精品高潮| 99精品丰满| 日韩成人影片网站| 99原创自拍视频在线观看| 丁香五月成人网| 中文资源在线a| 婷婷五月天狠狠色| 人人干av| 中文字幕激情综合| www,色婷婷| 日本成人噜噜噜| 精品久久久久久久人妻| 99爱免费视频| 午夜丁香五月天综合| 欧美综合五月丁香五月天| 97深爱伊人综合| 婷婷五月天激情网址| 狠狠爱综合网| 色八月婷婷| 99欧美| 日韩在线观看亚洲| 97视频.干com| 人妻22p| 丁香五月婷婷AV| 9久热在线视频精品| 99人人操人人操人人精| 碰超在线九色| 五月天丁香婷| 色婷婷XXXXX| 色婷婷狠狠| 婷婷导航| 婷婷亚洲丁香五月| 亚洲亚洲亚洲AAAAAA| 亚洲激情.com| www.色婷婷.com| 婷香五月| 色婷婷成人做爰A片免费看网站| AV在线不卡播放| 在线一起草av| 日韩综合网络男女香蕉a片| 99这里只有精品视频免费| 丁香五月激情天AV无码| α久久| 久99热| 久久机热/这里只有精品 | 在线播放 精品| 亚洲综合欧美色丁香婷婷888月图片| 精品九九婷婷| 插逼综合网| 天天搞夜夜爽夜夜爽| 国产日韩欧美性生活| 乱抡小BB| 五月天激情国产综合婷婷婷| 五月天婷婷在线播放| 五月丁香| #NAME?| 亚洲啪| 91疯狂操操操操| 日本操碰碰| 亚洲99综合| 丁香五月天欧美成人| 九九热这里只有精品12| 天天日综合| 99re久久| 激情五月少妇| 国产99久久久| 99爱操| 97在线/亚洲| 这里只有精品热| 五月婷婷人妻| 天天天干夜夜夜操| 成人片在线免费看| 天天肏屄夜夜爽| 色综合天天天天做夜夜| 久久久免费精彩视频| 欧美A片在线视频免费观看| 91精品综合久久婷婷九色| 激情美女五月天| 人人草人| 裸体做A爰片毛片A片免费| 婷婷五月超碰| ...婷婷国产成人亚洲日韩| 人人爱人人摸人人澡| 亚洲综合99| 91啦丨九色丨刺激中文| 第2色五月婷| 玖玖资源在线视频| 国产婷婷色综合AV蜜臀AV| 久re热视频| 五月激情婷婷六月丁香| 91精品在线看| 亚洲成人综合网在线免费观看| 色婷婷综合网| 色99色| 国产真人做爰视频免费| 婷婷激情五月综合| 天天干天天干天天| 天天肏视奸| 六月99天天婷婷激情综合| 亚洲综合色色色| 九九热视频在线观看| 五月 婷婷 成人| 亭亭五月色男人| 亚州操人在线视频| 91蜜桃婷婷狠狠久久综合9色| www.激情五月天| 婷婷中文网站| 疯狂做受XXXX高潮A片| 五月婷婷啪| 激情视频婷婷五月花| 啪啪视频99| 99视频精品在线| 五月婷婷天| 伊人大香五月天| www.99热这里精品| 97五月婷| 色五月 五月婷婷| 婷婷激情小说| 天天做天天要天天爽| 日本99在线| 色青青电影色五月| 亚洲成人综合在线| 99九九在线视频| 婷婷五月天熟妇| 天天摸天天肏| 精品九九网| 97在线观看| 色色色欧美| se99视频| 婷婷综合网伊人| 欧美日韩99| 一区二区aV电影免费看| 五月天色小说| 99热超碰在线| 美女网黄| 99综合| 色五月丁香激情| 色婷婷av在线观看| 操人久久| 婷婷五月天首页激情| 情欲禁地| 免费黄色片子| 99色婷婷视频| 五月丁香六月婷婷久久肏| 亚洲国产va| 久久这里只有精品07 | 久久久久九九九九视屏小说88| 丁香五月色情| 婷婷六月丁香五月| 色色色干| WWW免费视频碰碰碰碰| 天天干天天射色综合| 欧美天天综合网站上去吧| 婷婷在线精品| 成人综合AV| 中文字幕性爱视频| 丁香六月天婷婷| 久久久一级AAA| 九九Av| 天天干狠狠| 人妻激情在线| 狠狠爱五月婷婷| 九九热视频精品| 五月婷丁香亚洲| 激情伍月 欧美| 99久久66| 深爱丁香网| 99热最新网址| 久99热| 丁香五月激情棕合| 久久婷婷五月综合精品蜜芽| 啪啪操超碰| www.AV在线| 日韩美一级毛卡片| 超爽内射| 婷婷色色丁香| 免费AV在线网址| 综合九色| 色色五月丁香婷婷综合| AV免费在线网站| 天天综合网色欲香| 視频福利乱色| 96丁香六月婷婷蜜桃综合久久| 色婷婷免费观看| 色色色婷| 中文字幕在线免费观看视频| 亚洲网视屏| 欧美婷婷日本| 五月天婷婷在线观看| 91九色精品熟女内射| 五月激情视频| 久久婷婷六月综合| 9+1视频网址| 婷婷五月天成人网| 俺也去五月婷婷丁| 91综合视频丁香| 九热网站| 激情丁香五月AV| 综合色吧| 99九九在线| 99,色| 五月天色婷伊人| 五月丁香va| 色色日韩无码| 久久九九视频| 婷婷五月色惰| 色色色999| 可以免费观看的AV| 国产69久久久欧美黑人A片| 婷婷丁香综合网| H亚洲| 性爱七区| 色婷视频| 五月婷婷熟女| 99久久综合| 99热资源在线| 天干夜夜操| 99精品成人无码A片观看金桔| 欧美怡红院黄站| 美女爆乳18禁www久久久久久| 婷婷综合一二三| 丁香激情久久| 极品 少妇 内射| 婷婷六月视频| 91精品国产99久久久久久天美| 思思热精品在线| 国产肥白大熟妇BBBB视频| 9久热视频| 99热这里只有精品8| 伊人丁香五月天丁香在线婷| 婷婷人妻激情| 五月天色色激情综合| 色婷婷综合中心| 婷婷涩涩五月天| 亚洲综合色色| 日韩AV中文在线观看| 色吊丝中文字幕| 丁香五月婷婷色| 99热精品一区| 操日视频| 99精品国产在热久久| 久99久视频精选| 99热精品在线观看| 色五月丁香六月婷婷| 在线另类视频| 国产真实乱了老女人视频| 久久免费试看120秒| 九九Av| 天天成人丁香美女AV| 97人妻碰碰碰久久香蕉| 精品人妻午夜一区二区三区四区 | 久热超碰91| 精品无码色| 五月婷婷中文字幕| 在线不卡视频| 日韩三及成人AV片| 综合狠狠五月婷婷| 97人人操人人| 99久热视频在线| 色五月色五天色情网| 天天成人丁香美女AV| 成人一级片| αv中文字幕在线观| 色婷婷88| 五月天另类小说久久小说网| 99免费在线| 九 九九九AV| 欧美五月丁香啪啪响视频| 五月激情综合美女久久| 丁香六月啪啪| 9l视频自拍9l九色9l成人| 清色五月天| AV在线免费网站| 六六久久黄色| 久久久久久天天日天天爱| 激情五月丁香亭亭| 中文字幕免费高清电视剧| 无码髙清| 新激情五月开心五月婷婷五月丁香五月| www.91.com黄| www.99riav99| 久久aaa| 五月天另类激情在线| 九九99九九精品免费 | 久久丁香五月| 久久丁香婷婷色情综合| 色噜噜狠狠色综合伊人| 成人免费在线电影| 婷婷五月丁香基| www.五月天婷婷.com| 五月丁香六月婷婷激情视频在线观看免费 | 日本丁香五月婷婷| 99热66| 狠狠一日| 丁香五月婷婷啪| 爽极品色| 亚洲天堂九九九| 婷婷五月天激情亚洲小说| 中文字幕婷婷| 99精品女人天堂| 色五月开心开心五月激情五月| 九九热这里只有精品6| 99热99| 亚洲mm色| 99热久久这里只有精品| 超碰人人操人人干| www.色婷婷.com| 美女被操一区二区| 婷婷五月丁香基| 日本一级一级一级一级| 九艹在线| 天天操人人干| 日本熟妇乱妇熟色A片蜜桃| a在线观看| 五月婷婷在线观看黄| 一区二区你懂的| 亚洲第精品| 丁香五月激情五月| 人人爽天天莫| 99久久久| 综合久久高清| 天天综合 99久久婷婷| 操b视频在线观看一区二区| 五月丁香婷婷中文网| 九九色精品| 亭亭丁香aV| 天天久久狠狠色综合| 91av视频在线观看最新网址| 丁香五月停停av| 国产黄大片在线观看画质优化| 26UUU成人网| 婷婷伊人五月天| 九月婷婷久久久| 成人婷婷| 97狠狠色| 538任你爽| 中文字幕av在线| 欧美色九| AV五月丁香| 婷婷情色五月天| 棕合影院色色| 伊人婷婷大香蕉| 碰碰碰碰碰99| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 五月激情偷拍婷婷| 国产无套精品一区二区| 丁香五月天婷婷久久| 麻豆WWWCOM内射软件| 人妻内射麻豆视频| 亚洲视频一区| 开心五月丁香婷婷| 色.五月综合网| 97好吊操| 91seAV| 亚洲综合激情五月久久| 丁香五月天天| 婷婷午夜精品久久久| 亚洲情色一区| 性色五月天| 色情性爱视频网址| 免费观看18视频网站| 色噜噜,噜噜色| 99在线精品免费视频| 婷婷播播五月天| 一级内射毛片| 少妇激情五月天| 日韩精品一品二区三区的使用体验| 天堂综合久| 久色网址| 日本片日本片祼观看网站在线看中文版网页在线看| 美女婷婷六月色| 不卡在线视频| 日狠狠| 噜噜操操| 久久综合99| 五月丁香久久综合| 免费看欧美成人A片无码 | 久热免费视频| 五月综合激情| 久久98| 亚洲婷婷六月天| 7777久久亚洲中文字幕| 99亚洲视频| 婷色五月| 激情性爱五月天网页| ji'qi'luan'ren'lun| 4438激情网| 五月丁香六月情| 色婷婷av在线观看| 爱99干99| 婷婷狠狠干| 97操在线视频| 一本大道嫩草AV无码专区| 色色色色色网站| 大香蕉五月| 激情丁香婷婷| 精品久久久久久久人妻| 玖玖婷婷五月| 五月色网| 婷婷成人五月天成人文学小说| 夜夜AVV| 天天干天天干天天干天天干天| 怡红院99| 一级七香蕉| 日韩欧洲亚洲| 这里只有九九精品| 激情五月天色婷婷综合| 97精品综合| 婷婷五月天免费视频在线观看| 一区视频网站| 国产精品a无线| 99精品免费视频| 无码se| 五月丁香综缴情性爱| 国产色网站| 夜夜夜夜操| 婷婷五月a| 五月丁香激情综合网| 色五月亚洲开心网| 五月天激情小说| 久久久宗合视频88| 久久伊人五月天| 五月丁香亚洲综合网| 丁香五月六月综合激情| 日本精品久久久久中文字幕| 日日爽夜夜爽| 99 热国产在| 91VIP在线观看| 亚洲色99| 久久狠狠干| WWW.99热| 久久婷婷桃花五月天| 91久久久久久久久18| 欧美日本va| 国产色色网址网站| 2015WWW永久免费观看播放| 99热在线观看| 亚洲精品大片| 亚洲综合激| 欧美激情中文字幕| 成人美女网| 婷婷久久五月| 婷婷五月天在线观看第二页| 五月天天丁香婷婷在线中| 久艹久| 欧美性生交XXXXX无码小说| 九九精品亚洲| 伍月婷婷六月丁香| 99热久| 国产精品国产| 婷色天堂| 色噜噜婷婷| 97操碰在线视频| 五月婷婷开心亚州在线| 思恩热国产视频右线观看| 97五月天婷婷综合激情网| 国产看真人毛片爱做A片| 99操视频| 青青草激情网| 色五月婷婷婷婷| 噜噜噜噜噜在线| 人人插9| 丁香婷婷欧美综合| 在线只有精品| 久久色天堂| 日日操日日撸| 色婷婷五月天天天天天天天天天| 99热大香蕉| 888久久久| 精品亚洲国产成AV人片传媒| 五月色网| 综合大香蕉| 丁香激情五月| 亚洲激情网站| 插插五月天| 婷婷六月丁香在线| 九九热黄色| 99久热精品在线| 丁香婷婷六月| 日本视频不卡123区| www.91色| 五月婷婷激情中文字幕| 26uuu亚洲精品国产| 天天干天天干天天干天天干天天干天天 | se婷97| 亚洲狠狠爱婷婷| 婷婷五月色播放| 99九九精品视频| 99热手机在线精品| 日本颜色视频人人爱| 天天综合亚洲综合| xxx日本东京热| 狠狠操.com| 久久er免费视频| 嫩草视频观看| 99草视频在线观看| 丁香五月婷婷天堂大香蕉| 国产AV网页| 丁香五月婷婷五月基地| 天天碰夜夜操| 色婷婷在线电影| 国产亚洲成AV人片在线观黄桃| 国产精品一区在线观看你懂的| 久久xx| 99热伊人| 久久久婷婷婷| 激情五月婷婷五月| 天天狠天天叉| 丁香婷婷五月六月久久| 九色91国产| 婷婷涩涩五月天| 午夜九九九九九九九九九九九九九| 亚洲色五月婷婷| 五月天天视频| 五月婷婷,六月丁香| 激情五月婷婷五月丁香五月开心五月| 色久五月天| 激情五月天在线视频| Www.婷婷五月| 色五月视频,小说| 丁香五月六月激情久久| 开心五月深爱五月丁香五月激情五月 | 青青艹b| 丁香伊人五月色婷婷五十路| 99免费青青蜜臀| 丁香五月天婷婷91| 色娸娸综合网| 久热91精品| 99九九精品| 色之综合网| 亚洲天堂亚洲色色色| 天天综合色综合| 99爱免费在线视频| 五月丁香六月综合激情无码软件亮点 | 婷婷五月天亚洲图片| 成人性爱无码| 热99热9| va婷婷| 色老久久| 99日本精品视频热| www.99热| 久久久国产精品黄毛片| 激情五月婷色| 手机在线日韩视频中文字幕| 综激情网| 66久久视频在线| 26UUU精品一区二区Com| 色色色图| 亚洲性视频| 五月天婷婷久久| 无码一区精品一区视频| 婷婷丁香久久网| 97色啪| 99自拍视频在线| 日本色婷婷综合| 五月丁香婷婷开心| 9久热在线视频精品| 久热这里只有| 国产露脸150部国语对白| 91啦丨九色丨刺激中文| 色婷久| 欧美在线视频99| 色。 婷婷婷| 婷婷五月在线播放| 成人AV在线电影| 国产精品国产成人国产三级| 欧美日韩一区二区三区四区| 9l视频自拍九色9l视频在线观看| 婷婷免费精品视频| 美女五月激情| www.99成人视频| 99久.| 激情综合网激情五月天| 色五月在线综合| 狠狠操狠狠| 婷婷五月成人社区| www.五月婷婷久久.com| 亚洲avjiujiur91| 色色色免费视频| 五月色色色| 2025超碰| 九九Y精品热播| 色色日韩网| 五月婷婷之美女图片| 色婷婷888| 久久在线视频免费观看| 大香蕉娱乐| 综合欧美五月婷婷| 超碰1999| 九九免费视频| 五六月婷婷久久| 人人操AV| 婷婷五月天另类网站| 日本九九九九| 97色 五月天丁香| 欧美精品999| 九九视频在线免费视频| 久久精品视频99| 亚洲六月综合激情久久下卡| 久久九九@| 夜夜夜叫天天天做| 色综合九九色综合88| chaopengdaxiangjiao| 在线看片av| www激情网| 五月天婷婷基地| 另类少妇人与禽zOZZ0性伦| 久久99三级在线视频| 丁香五月在线伊人| 我去色色网五雨天| 五月天综合在线网| 五月婷婷啪啪啪| 97色色色视频| 精品久久久人妻| 婷婷综合偷拍| 天天日人人| 色色五月天婷婷丁香| 综合色色五月| 久久久99久久| 婷婷深爱五月丁香| 五月丁香激情综合| 一起草av在线观看| 人人干Av| www.minyis.com【JT】实力收量可预付QQ2101460746 | 91婷婷五月丁香碰| 思99热精品久久只有精品| 99在线视频播放| ztEJj| 亚州激情网| 色偷偷色婷婷| 婷婷五月激情在线| 免费AV黄在线播放| 久久东京热婷婷五月| 超碰操日| 婷婷丁香六月影视| 久久综合九九| 停停六月 综合| 五月天激情综合10p| 婷婷五月天在线观看免费| 久久思思热| 成人 视频免费观看网站| 久久99成人性爱高清视频| 国产精品18久久久| 99热18| 久久精彩免费视频| 九九久久久综合| 成人狠狠成人狠狠成人狠狠成人狠狠| www.色综合| WWW99视频| 99热色在线精品| BBWCUCKOLD精品熟妇| 久热久色| 五月天成人综合| 永久免费一区二区三区| 停停色综合伊人| 激情五月天色色网| 超碰亚洲天堂| 婷婷五月天基地| 国产亚洲成AV人片在线| 五月婷婷激情综合视频| 国产精品99久久久久久久女警| 色色是色N一| 亚洲精品视频电影| 超碰京东热av男人的天堂| 天天色综合网吨吧| 中字幕视频在线永久在线观看免费 | 激情播丁香| 激情综合网五月婷婷| 婷婷黄色| 91大屁股精品| 日本久久99久久| 天天色视频| 久久33视频| 婷婷五月天日本无码| 操B无码视频国语| 狠狠狠人妻| 国产特级毛片AAAAAAA高清| 六月婷婷狠狠| 久操热线| 五月色丁香综合| 色婷婷小说| 九月丁香| 亚洲九九视频| 美日韩成人| 99无码黄色视频| 欧美A级网站| 国产激情视频在线观看| 大香蕉五月天婷婷| 激情小说五月天| 婷婷九月激情| 99热综合| 激情婷婷丁香五月天小说| 久久综合丁香激情五月| 丁香五月综合高清在线| 婷婷五月天色| 99在线观看视频免费| 在线不卡视频| 色欲Av五月天| 国产全是老熟女太爽了| 99热这里只有精品96| 第四色在线观看| 婷婷综合网伊人| 99久久97| 国产资源91在线| 中文在线视频久9| 开心五月天激情网| 婷婷丁香五月91| 在线中文字幕视频| 久久精品爱爱| 超碰九色| 丁香五月网| 亚洲综合碰| 思思久久精品| 九热免费视频| 婷婷丁香亚洲五月天| 精品人妻午夜一区二区三区四区| Jh7Uf088VHafNm| 九九成年视频| 99色在线视频| 国产免费AV网站| 东京热免费视频| 综合网激情五月天| 91av成人| 日日夜夜天天| 99网址在线看| 五月婷在线| 99亚洲大片精品永久在线观看| 色婷网站| 色播五月天激情| 久99热| 亚洲成人网站在线观看| 中出内射的人妻视频| 亚洲综合在线网站| www..999热久| 成人超碰AV| 久久激情四射| 久久人人妻| 五月天色色色| 日本色色影片| 五月婷六月| 婷婷丁香五月麻豆| 情欲禁地| 婷婷丁香在线播放| 91无码视频| 亚洲精品久久久久AV无码| 久久五月婷天天干| 成人在线日韩欧美| 丁香婷婷啪啪| 天天cha成人综合网| www,色综合| 五月天成人在线视频网站| 内射丰满人妻| 中文字幕网站在线观看| 久久丁香五月| 亚洲精品色色色| 99狠狠| 亚洲爆乳无码精品AAA片蜜桃| 日本AAAAAAAAAAAAAA片| 五月婷六月| 99热国品| 色婷婷基地| 日韩不卡DvD| 色色三级视频| 久久看婷婷| 安息电影在线观看完整版| 97超碰99热99| 色色色色色综合| 思思99精品视频| 超碰在线资源| 五月天激情图片| 99在线精品视频免费观看20| 人操91在线| 久久久思思热| 最新无毒无码AV| 久久婷婷色综合| 人人色AV| 色婷婷在线影院| 婷婷激情四射| 色婷婷六月| 激情综合自拍五月婷婷色五月| 在线成人国产| 五月婷婷激情| 激情狠狠丁香月| 超碰人妻在线| 激情综合激情综合| 婷婷综合网在线| 久久精品女人天堂AAA| 九九在线视频| 狼人婷婷久久| 五月丁香六月婷婷免费| 热99免费在线| 99超超碰| 天天色天天日| 亚洲久久婷婷丁香五月天| 国产在线黄色| 国产精品24r| 九九性视频| 91精品综合久久久久久五月丁香 | 婷婷久久五月| 久久精品熟女亚洲AV麻豆| 九九碰九九爱97| 五月丁香六月婷婷操操操| 97激情五月天| 丁香五月色五月| 9 7总站超级碰免费视频| 开心婷婷五月| 婷婷五月丁香六月| 五月天色导航| 色五月激情视频在线综合| 1024在线一区| 久久97| 色99色| 婷婷综合网站| 九九这里只有精品在线视频| 日本99视频精品免费播放| 五月激情四射网站| 久久亚洲婷婷| 9有码中文| 91精品综合久久久久久五月丁香 | 51XX午夜影福利| 就爱日五月天| 强辱丰满人妻HD中文字幕| 日本三级中国三级99人妇网站| 日日天天操| 四月婷婷五月色综合| www.五月丁香| 色色综合五月| 疯狂做受XXXX高潮A片动画| 91一起操| 999久久久国产精品| 婷婷五六日| 久久这里只精品66| 无码啪啪| 97碰人人操| 狠狠爱丁香婷| av一级棒av| 国产99久久久国产精品免费看| 这里只有精品视频99| 99视频这里有精品| 成年人看Va免费视频| 六月天六月婷| 草草操操| 久久丝袜婷婷| 99久热精品在线| 中文字幕精品推荐免费在线观| 人妻熟人中文字幕一区二区| 五月天婷婷在线播放| 97在线碰| 久久艹99| 亚洲色五月| 五月激情婷婷六月| 婷婷五月天激情综合网| 人妻videos人妻高清| 热久久77777| 99re这里只有精品99| 超碰人人超碰| 99九九综合久久九九| 五月久久网| 丁香六月婷婷色XXXXX| 九97免费视频| 丁香深五月婷婷| 国产精品涩涩涩视频网站| 99热只有| 久热这里| 五月开心网| 久久多色| 97色天堂| 激情AV在线| av在线观看网站| 日韩十国产极品久久| 色婷婷五月天综合网| 婷婷深爱五月丁香网| 五月婷婷六月基地| 色爱99| 色欲丁香久久|