久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

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í)操系列里專(zhuān)門(mén)講數(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)也因此值得專(zhuān)門(mén)寫(xiě)一篇。內(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)銷(xiāo)鏈路會(huì)帶來(lái)延遲。CT 就輕量得多它只維護(hù)一個(gè)版本號(hào)標(biāo)記記錄“哪些行在某個(gè)版本之后發(fā)生過(guò)變化”不保存變化的內(nèi)容。業(yè)務(wù)端需要定時(shí)查詢(xún)變更版本拿到變更行號(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ù)還有不少I(mǎi)nfluxDB、TDengine、TimescaleDB、Prometheus、QuestDB、KDB 等每家的同步方案差異很大有的是商業(yè)版功能有的依賴(lài)外部工具真正把同步做成數(shù)據(jù)庫(kù)內(nèi)建能力、還開(kāi)放插件接口的并不多IoTDB 的 Pipe 算是其中做得比較完整的一套。1.2 時(shí)序數(shù)據(jù)的寫(xiě)入形態(tài)決定了同步不能照搬關(guān)系庫(kù)思路既然參照物有了接下來(lái)要回答的問(wèn)題是為什么不直接把 SQL Server CDC 那套搬過(guò)來(lái)用關(guān)鍵在于時(shí)序數(shù)據(jù)庫(kù)的寫(xiě)入形態(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)新寫(xiě)了一個(gè)值”從存儲(chǔ)層單獨(dú)解析出來(lái)必須重新設(shè)計(jì)一套事件模型無(wú)法直接套用 SQL 日志解析。寫(xiě)入體量不在一個(gè)量級(jí)。一個(gè)大型風(fēng)電場(chǎng)一天可能寫(xiě)入上千億個(gè)點(diǎn)如果按“每條變更一條事件”的方式同步事件本身的序列化和投遞開(kāi)銷(xiāo)就會(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)端亂序批量寫(xiě)入。它不是把數(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)建管道之后新寫(xiě)入的數(shù)據(jù)持續(xù)投遞到目標(biāo)端中間無(wú)需人工干預(yù)??缇W(wǎng)絡(luò)形態(tài)適配既能通過(guò) Thrift RPC 直接寫(xiě)對(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 中的新寫(xiě)入事件解析后轉(zhuǎn)成管道內(nèi)部的事件對(duì)象。你可以把它理解成“數(shù)據(jù)庫(kù)自己的 CDC 讀取端”——只不過(guò)它讀的不是 SQL 事務(wù)日志而是 IoTDB 的寫(xiě)入日志。存量通道則是直接掃描本地已有的 TsFile 數(shù)據(jù)文件按時(shí)間范圍切片讀取并把讀取進(jìn)度持久化下來(lái)。source 段常用的參數(shù)就幾個(gè)source插件類(lèi)型默認(rèn) iotdb-source一般不用換realtime是否同步新寫(xiě)入的數(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)銷(xiāo)。很多人第一反應(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、把攝氏溫度換算成華氏路由改寫(xiě)比如給目標(biāo)路徑統(tǒng)一加前綴避免邊云匯聚時(shí)多個(gè)邊緣端的設(shè)備 ID 互相沖突敏感信息脫敏比如對(duì)設(shè)備 ID 做哈希處理再寫(xiě)入目標(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 直接寫(xiě)入另一個(gè) IoTDB 集群。這是默認(rèn)選擇核心參數(shù)是node-urls對(duì)端 DataNode 地址多個(gè)地址用分號(hào)分隔、username、password。傳輸采用批量 Tablet 形式網(wǎng)絡(luò)利用率比較高。iotdb-air-gap-sink專(zhuān)門(mén)應(yīng)對(duì)不能開(kāi)網(wǎng)絡(luò)端口的隔離場(chǎng)景。它把同步數(shù)據(jù)滾動(dòng)寫(xiě)成本地文件物理隔離環(huán)境下由運(yùn)維用擺渡方式把文件帶到目標(biāo)環(huán)境再導(dǎo)入。適合等保要求高、專(zhuān)網(wǎng)隔離這類(lèi)生產(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)端口安全部門(mén)不會(huì)同意的。2.4 一條數(shù)據(jù)從寫(xiě)入到目標(biāo)端落地的完整旅程把三段拼起來(lái)一條數(shù)據(jù)被同步的完整過(guò)程是這樣的業(yè)務(wù)執(zhí)行 insert 寫(xiě)入源端 IoTDB數(shù)據(jù)先落 WALSource 的增量通道消費(fèi) WAL 事件解析成管道內(nèi)部事件Processor 按配置處理事件默認(rèn)透?jìng)鱏ink 把事件批量投遞給目標(biāo)端目標(biāo)端寫(xiě)入成功之后返回確認(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)寫(xiě)進(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 為例。同步本身是“寫(xiě)入即轉(zhuǎn)發(fā)”目標(biāo)端不需要預(yù)先建好時(shí)間序列寫(xiě)入時(shí)會(huì)自動(dòng)創(chuàng)建。動(dòng)手前確認(rèn)三件事兩端大版本盡量一致??绱蟀姹静皇前俜职俨荒芡降录袷娇赡艽嬖诓患嫒萆a(chǎn)環(huán)境我不會(huì)冒險(xiǎn)。目標(biāo)端需要給同步賬號(hào)開(kāi)寫(xiě)權(quán)限。最省事先用 root 把鏈路跑通后續(xù)再收斂成專(zhuān)用賬號(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且不寫(xiě) end-time表示把從 start-time 到當(dāng)前的所有歷史數(shù)據(jù)按時(shí)間順序同步過(guò)去一直掃到最新。整庫(kù)遷移不要 start-time系統(tǒng)會(huì)從最早數(shù)據(jù)開(kāi)始。realtimetrue創(chuàng)建完成之后的新寫(xiě)入持續(xù)同步。我建議存量加增量同時(shí)開(kāi)一步到位省得后面再補(bǔ)一條管道。start-time注意帶時(shí)區(qū)。寫(xiě)成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)端是集群可以寫(xiě)多個(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)半截寫(xiě)入的中間態(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 給每條管道寫(xiě)入的目標(biāo)路徑加不同的前綴從管道上做隔離比到中心之后再想辦法區(qū)分要省事。雙活 / 讀寫(xiě)分離A-B 雙向A 到 B 一條B 到 A 一條。最大的坑是回環(huán)A 的數(shù)據(jù)同步到 BB 端把它當(dāng)成新寫(xiě)入再被 B 到 A 的管道同步回 A形成無(wú)限循環(huán)。我的經(jīng)驗(yàn)是從架構(gòu)層面解決而不是指望數(shù)據(jù)庫(kù)去重——讓兩端只允許本地寫(xiě)入不同的設(shè)備或路徑段從源頭切斷交叉路徑。4. 插件同步指南內(nèi)置插件不夠用時(shí)自己寫(xiě)一個(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í)夠用但下面三類(lèi)情況就必須寫(xiě)插件目標(biāo)端不是 IoTDB。數(shù)據(jù)要同步到 Kafka、RocketMQ、MySQL、對(duì)象存儲(chǔ)或者自研平臺(tái)這時(shí)候最干凈的做法是寫(xiě)一個(gè)自定義 Sink。數(shù)據(jù)需要在途中做業(yè)務(wù)轉(zhuǎn)換。單位換算、按區(qū)域分流、敏感字段脫敏、路徑前綴改寫(xiě)這些都是 Processor 的職責(zé)。硬要用外部 ETL 工具繞一圈延遲和復(fù)雜度都會(huì)上來(lái)。同步鏈路上需要觀測(cè)能力。比如每條事件打一條日志、輸出指標(biāo)、觸發(fā)告警同樣可以做成一個(gè)輕量 Processor 插件掛在管道里。4.2 手寫(xiě)一個(gè)自定義 Processor測(cè)點(diǎn)過(guò)濾示例先講骨架。一個(gè) Pipe 插件本質(zhì)上是依賴(lài) pipe-api 模塊的 Java 工程實(shí)現(xiàn)對(duì)應(yīng)接口打成 jar 放到 DataNode 擴(kuò)展目錄在 create pipe 時(shí)用全類(lèi)名引用。Maven 依賴(lài)長(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 決定每批事件是放行、丟棄還是改寫(xiě)。特別提醒事件在自定義 Processor 里必須明確調(diào)用放行方法否則后面的 Sink 什么都收不到而且不會(huì)報(bào)錯(cuò)排查時(shí)很容易懵。4.3 手寫(xiě)一個(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 這類(lèi)連接型資源必須在 customize 或 start 階段初始化、close 階段釋放。如果寫(xiě)進(jìn) transfer 里每批事件都 new 一個(gè) Producer同步吞吐會(huì)肉眼可見(jiàn)地崩掉而且大概率把目標(biāo)端連接數(shù)打滿。4.4 插件的部署與使用完整流程插件寫(xiě)好之后部署流程是固定的mvn clean package打出 jar把 jar 復(fù)制到每個(gè) DataNode 的ext/pipe目錄不同版本擴(kuò)展目錄名略有差異以官方文檔為準(zhǔn)重啟 DataNode確保插件類(lèi)被加載。有些版本支持動(dòng)態(tài)加載但重啟是最穩(wěn)妥的做法在 create pipe 語(yǔ)句的對(duì)應(yīng)段里把插件名換成你的全類(lèi)名并傳入插件需要的參數(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)后往源端寫(xiě)一條數(shù)據(jù)去 Kafka 消費(fèi)驗(yàn)證。注意自定義插件的加載依賴(lài) 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 最容易翻車(chē)的幾個(gè)典型瞬間先列高頻問(wèn)題清單都是真實(shí)發(fā)生過(guò)的目標(biāo)端磁盤(pán)寫(xiě)滿Sink 寫(xiě)失敗不斷重試管道進(jìn)入 ERROR 狀態(tài)。磁盤(pán)恢復(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)成新寫(xiě)入又被 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 故障排查的完整鏈路我自己排查詢(xún)題的順序是固定的按這個(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)有收到連接、寫(xiě)入有沒(méi)有失敗如果兩端日志都正常再回到數(shù)據(jù)本身源端查最新寫(xiě)入目標(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āo)毀了現(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)端寫(xiě)入能力同步的終點(diǎn)還是寫(xiě)目標(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或者腳本輪詢(xún) show pipe 輸出至少保證異常半小時(shí)內(nèi)能被發(fā)現(xiàn)容量上目標(biāo)端預(yù)留源端寫(xiě)入峰值 1.2 到 1.5 倍的磁盤(pán)和內(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)描述里寫(xiě)清楚源地址、目標(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)景先寫(xiě)一個(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
返回資訊列表
九九人妻| 婷婷五月天久久精品视频一区二区三区 | 青青欧洲黑| 欧美极度丰满熟妇hd| 国产精品播放| 国产精品午夜精品| 9精品久久| 超碰 97国产熟女| 国模无码一区二区三区在线| 国产无码精品成人| 日日躁狠狠躁天天躁精品| 91超碰人人| 天天躁日日躁AAAXX| 无码久久亚洲高清,| 久久人妻一区二区三区高清| 青青草原av| 亚洲怡春院| 亚洲最大的黄色电影网站。| 国产亚洲人妻综合日韩 久久| 久久av一级av少妇av高潮 | 成人熟女视频一区二区三区| 五月综合激情| 亚洲熟女中文字幕在线| 欧美刺激色黄片免费看| 99色在线| 99精品免费| 亚洲情色在线| 日韩欧美偷拍美女视频| 欧美日韩天堂| 淫纸中9区| 亚洲综合草草| 亚洲色图欧美色18直播在线| 天天欲望网| 激情文学亚洲| 美女久久久久久久久久久| 四虎精品一区| 亚洲玖玖爱| 久久视频,这里只有精品 | 日本视频在线中文字幕| 中文字幕五月婷婷免费| 三级特黄60分钟播放| 色色网91| 高清无码国产亚洲| 97最新在线播放视频| 激情专区综合| 久久精品小视频| 五月丁香网站| 是还免费视频1727我| 后入式在线免费观看60秒| 爱啪精品一区| 天天操天天日天天干| 蜜桃色院一区久久| 欧美少妇色图| 亚洲高清国产理伦片| 约操熟妇| 婷婷五月天久久久| 精品91摸| 欧美日韩97在线| 夜夜嗨一区二区三区三州加勒比| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 色噜噜人妻丝袜a∨先锋影| 亚洲精品a人片在线观看视| 亚洲成A∨人影院在线欢看| 青青草丝袜在线视频| 亚洲中文字幕av| 激情综合久久| 一区麻豆 高清中文字幕| 欧美天天综合站| 久久大香蕉97| 午夜视频黄| 97人妻免费中文字幕| WWW黄片COM| WWW4虎| 久草精品一区| 香蕉国产精品麻豆亚洲欧美日韩| 久久99网站| 91偷拍欧美亚洲| 亚欧美色图| 日本孕妇一区二区视频操逼免费看| 欧美日韩免费性爱| 麻豆60秒| 亚洲久久东京热一二三四五区视频| 超碰九区| 综合色图区| 操学生天天| 久久岛国| 日韩,欧美,中文在线| 美女黄色91| 91精品91久久久中77777| 亚洲国产麻豆一区二区三区| 日本亚洲vr欧美不卡高清专区| 男人的天堂久久狠| 影音先锋每日最新资源在线观看| 99操碰| 亚洲一区二区 麻豆传媒| 9九九国产| 亚洲欧洲综合av在线| 日本岛国黄色网址| 天天操人人操骚逼网站| 日韩欧美亚欧在线视频| 99热精品在线| 91热色| 翔田千里无码中出中文字幕| 亚洲人成色9999精品久久| 99精品无码| 一起草欧美| 婷婷国产精品九区| 色综合天天| 97爱爱影院| 家庭乱伦麻豆| 精品国产自在在线99| 日本性一区| 黑人精品一区二区在线播放| 天天天堂影视日韩亚洲91| 最新无码国产| 成人日韩中文字幕| 亚洲一区在线观看欧洲| 欧美日本天堂| 久久久久久电影| 九九九九九九成人| 色蜜AV| 国产精品久久久午夜夜伦鲁鲁| 香蕉热人人精品| 欧美亚洲成人在线一区二区三区| 肉嘟嘟www视频在线观看高清| 九久9热| 日本东京热久久久电影| 亚洲国产剧情少妇激情| 成 人 A V免费视频在线观看| 私色综合网| 日韩熟女精一区二区三区不卡| 色婷婷激情| 亚洲高清91| 五月天激情网图片| 亚洲图片激情综合另类| 中日992视频| 爱我干综合| 2017天天插| 中文字幕一二三区| 亚洲高清无码免费观看视频| 欧亚无码视频| 97在线青| 五月天色图| 亚洲激情视频| 熟妇人妻一区二区三在线| 爽极品影院| 激情情色五月天| 黄污污污污| 国产成人超碰在线| 天天干人妻视频| 久久久一区二区三区四曲免费听| 中文字幕,人妻,日韩| 男人把坤坤插入女人的下体| 密臀在线免费观看| 国产午夜激片Av毛片不卡| 99国产精品自在自在| 99久re热视频精品98| 97欧美综合| 少妇同性| 99热婷婷| 日韩精品在线观看观看| 亚洲欧美91| 久久精品99久久久久久| 蜜桃久久综合视频| 成人a大片在线观看| 亚洲情色 自拍| 亚洲不卡不卡中文字幕不卡| 中国探花熟女| 欧美区亚洲区偷拍区| 久久精品中文字幕女同| http://qxhbdz.com| 日韩无码三级影院| 天天看天天日| 伊人宅男大香蕉| 欧美老妇女内射网址| 日本日皮视频逼| 成全动漫视频观看免费下载| 久久久人妻| 超碰一区二区| 蜜臀久久99精品| 天天插天天射| 九九AV| 国产午夜无码片在线观看影视| 欧美人妻少妇| 熟妇人妻精品一区二区| 人妻素股| 中文字幕超碰CAO| 天天日日日射| 在线黄页看毛片| 国产三级电影免费观看| 国产精品麻豆成人AV艾秋| 欧美极品性爱天天射| 免费家庭乱伦视频| 高清有码一区二区| 久久久久九九九| 亚洲日本大香蕉1| 一本久久精品中文字| 午夜欧美J进J出白浆流出久久久| 91黑丝在线播放| JULIA一区二区三区在线播放| 人人模人人看| 9色国产精品一区粉嫩| 91热| 花花AV导航| 99热在线只有精品| 又黄又硬又粗又长国产视频| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 国产理论视频在线播放| 岛国色情视频在线观看| 国产精品成人福利在线| 黄片com.| 国产一区二区啪啪视频| 99人人干| 欧美 亚洲 综合 制服| 伊人99热| 性站| 屌妞视频久久久久久久| 夜夜免费视频| 综合熟妇一区二区三区| 精品在线蜜臀| 国产在线能看的你懂的| 成人日韩3| 乱伦a片视频| 久久久久久亚洲中文| 最新三级网址| 99在线精品观看99| 亚洲国产综合久久天堂| 久久亚洲人妻| 九九九九97| 欧美综合色,www| av网站在线看| 日韩激情中文字幕有码| 亚洲第一综合| 亚洲欧美天堂在线| 久久后入制服| 亚洲色图尤物视频| 3p国产欧美99热| www四虎| av麻豆啪啪| 97超碰9| 亚洲 欧美 日韩 国产一区二区 | 啊啊啊久久久视频| 综合久久久久久久久91| 八人操人人摸人人看| 91|九色|国产熟女| 亚洲性感丝袜诱惑在线观看| 大香蕉伊人75| 香蕉热人人精品| 六月激情婷婷| 亚州春色| 欧美综合另类| 日韩欧美经典在线观看| 国产精品午夜成人福利| 天天久久久久久| 超碰午夜| 免费一级视频特黄色大片| 欧美中文字幕男人天堂久久精品| 天天操熟妇| 亚欧毛片基地国产毛片基地| 999在线电影香蕉| 欧亚久久偷拍视频| 91五十路| 日本韩欧美在线播放a| 亚洲91亚洲| 91美女视频电影| 久久伊人最新网址视频| 日韩性爱播放| 日韩欧美天堂| 国岛片视频| 超碰97资源大奶| 男人的天堂com| 日本视频一区二区三区| 嫩草伊人久久精品| 免费看片黄| 久久人妻办公室视频| 九一国产精品| 成人午夜视频免费播放| 丝袜美腿射精91| 国产区日韩区在线观看| 久热久| 中文字幕国产| 色婷婷基地| 男人的天堂三级| 亚洲av淫乱| 亚洲情色在线| 中文字幕人成乱码熟女香港| 美女高潮视频91| 亚洲av性爱电影| 九九色逼| 乱欲视频| 国产夜夜艹| 亚洲激情视频| 国产精品乱码久久久久久久久久久久| 91丨人妻丨国产丨丝袜| 国产无遮挡| 综合伊人网12色| 国产馆极品诱惑| 日日摸天天爽夜夜欢| 伊人AAA| 97这里只有精品| 无码又爽又硬又激情免费视频| 全国男人天堂网| 夜夜操狠狠操| 亚洲自拍偷拍视频在线| 一区 欧美 日韩 麻豆| 在线播放成人高清免费视频| 亚洲激情天堂网| 一个国产在线综合网站| 一区二区三区色综合| 久久久久亚洲AV无码专区少妇| 美女91在线观看| 亚洲91在线播放影院| 天天综合网~91综合网| 青青草九九九九九| 强奸乱伦免费网站| 91天天美女| 国产又粗又又黄又猛| 欧美一级在线观看成人| 日本五十路在线| 欧日a| 久久一区二区蜜桃| 97硬碰| 欧美日韩操逼动图| 九九热av| 久久999久| 99久re热视频精品98| 国产精品网址| 道久久五香丁月婷婷激情综合| 欧美性生活综合| 欧美AB在线| 区二区亚洲婷| 久久99操天天日| 天天躁日日躁AAAAXXXX国产 | 久久久久亚洲av综合波多野制衣| 午夜福利一区二区三区四区五区色婷婷| 午夜精品探花| 一级乱伦网站| 久久中文字幕女同性恋一区| 好吊色在线观看| 蜜乳av一区二区| 欧洲人妻视频| 国产精品午夜精品| 国产美女91视频| 久久九九综合| 亚洲啪啪视频一区二区| 韩国一级做a久久久久| 亚洲青色欧美| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 97在线青| 亚州操操穴网| 五月开心网| 97人人操人人摸| 亚洲不卡三级手机播放| 超碰97极品9| 久久综合精品一区二区三区| 精品女人999| 肉嘟嘟www视频在线观看高清| 国产91 丝袜在线播放00-百度| 日韩中文字幕宗合在线| 国产精品午夜成人福利| 日本三级小说中文字幕| 亚洲丁香花色| 色色婷婷五月天| av天堂精品久久| 亚洲av性爱电影| 97欧美在线| 操一对老熟妇爽上天视频| 91久久堂| 天堂在线一区二区| 91欧美偷拍| 欧美综合97www| 久久人妻精品| 亚洲精品男人的天堂| 国产精品自在线发布| 不卡av在线中文字幕| 草草草视频在线免费看| 国产精品人妻无码久久久互動交流| 中文字幕青青草| 久9爱经典视频| 久久爱超碰网| 小骚逼被操的爽不爽| 天天天乱色综合全| 91爱做| 97AV在线免费观看| 中国黄色特级精品一区二区三区片| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 日本福利二区视频| 色小视频蜜乳| 1024久久高清视频| 嗯嗯,啊啊,国产精品| 亚洲城人男人的天堂| 久久久久久久久久久人妻| 亚洲天堂另类美腿| 欧美国产成人在线| 久久久性少妇| 午夜男人的天堂| 亚洲开心网| 欧美性爱日韩高清| 国产操操日韩三级黄| 日韩国产乱子伦App| 激情综合网五月婷婷五月天| 五月综合色| 99.色网| 久久日本熟妇熟色高清 | 亚洲最新中文字幕免费| 精品少妇后入一区二区三区四区人妻巨乳| 亚洲日韩AV视色| 超碰精品| 伊人网在线点播| 天天久久| 免费的很黄很污的全部视频| 日本女人操逼| 欧美日韩222| 一区二区三区色综合| 中文有码9| 强被迫伦姧在线观看无码网站| 99久久无色码| 超碰98综合网| 日韩精品午夜操呦呦不卡影院| 亚洲美女av无码| 久久久久人妻二区精品叶可怜| 欧美性爱伊人| 人人爽夜夜操| 亚洲日精品| 国产精品日韩在线一区| 超碰人人色| 国产精品91ai| 外国免费性情大片| 国产最新小视频在线播放下载 | 久久一二三四五六七八九区| 乱伦强奸区日韩| 蜜乳AV一区二区三区四| 成人AV素股で擦久久| 亚洲日本天堂| 日韩精品一区二区高清| 26uuu国产| 欧美精品三区| 综合伊人网12色| 狠狠激情综合狠狠操中文字幕| 18精品一区| 97中文字幕一区| 少妇厨房愉情理伦片bd在线观看| 婷婷激情五月综合| 欧美手机在线综合| 亚洲精品国产无码高清| 91 手机在线播放 绯色| 新怡红院| 91人妻尻屄视频| 诱惑人妻欧美一区在线播放| 九九九精品成人免费视频小说| 大香蕉丝袜一级片| 激情小说亚洲图片| 欧美五十路熟| 国产大片精久久久久久| 校园春色亚洲| 免费观看欧美日韩操逼视频| 亚洲第一视频 欧美风情 日韩| 日本不卡二三区| 蜜臀99久久精品久久久懂爱| 亚洲丝袜二区| 中文字幕一区二区无码成人| 国产成人无码久久精品| 国产美女高潮视频| www久久99| 亚洲影视第一页| 思思热免费视频观看| 亚州熟妇精品| 欧美少妇性爱网站| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 少妇天堂网络| 操人人| 自拍视频大全亚洲专媒视频/一区二区三区| 欧美亚洲图片| 日本美女性生活久久久久久久| 亚洲综合20p| 黑丝少妇麻豆| 懂色中文一区二区三区| 亚洲欧洲日产国产综合网| 十八禁av无码免费网站APP| 成人色女网| 秋霞免费无码视频日韩A片| 超碰久久性爱| 97欧美色资源| 一级免费精品| 日本国产成人亚洲精品无码| 亚洲日本大香蕉1| 麻豆这里只有精品| 人妻铁牛TV| 麻豆区99999| 久久透逼视频| 嗯嗯啊啊啊啊轻点视频| 久久久婷| 亚洲黄片免费在线播放| 日韩欧美天天爽爽爽天天爽爽| 韩国黄片aaaa| 国产精品伦理| 久久熟妇五十路一区| 黄色AAAAA欧美| 精品熟妇视频一区二区| 欧美日韩情色一区二区| 涩涩这里只有精品视频| 日韩欧美综合激情| 亚洲欧美校园| 麻豆天美制片厂网站视频| 国产欧美岛国精品一区| 亚洲一区二区av| 亚洲天堂另类小说男人| 国产一区二区在线电影| 国产在线视频午夜精华在| 欧美 日韩 婷婷 五月| 99热这里只有精品地址| 亚洲欧美综合| 欧美久久人体| 国产熟女二区| 男人的天堂2010| 天天躁日日躁xxxxx| 亚洲色阁| 久插综合| 综合网,亚洲,欧美| 色官网在线| 欧美高清18A片| 欧美欧美少妇| 精品综合久久久久久97| 综合激情97| 插欧洲美女欧美精品| 岛国免费视频在线| 日本色日夜干| 久久国产精品视频| 中文字幕 码 自拍 视频 区| 国产1024在线播放| 加勒比综合88| 欧美性爱超碰97| 久久久穴999| 欧美九9 9 9| 操婷婷逼| xxx0国产在线播放| 韩国黄片aaaa| 天天插夜夜操| 人人操人人舒服| 一区二区高清视频| 欧美激情专区| 午夜超碰| 亚洲AV无码乱码| 97色操| 很狠操| 亚州色图片在线色| 国产一区二区成人av在线播放| 蜜臀网 一区| 欧美综合中文| yazhououmeizongya| 99在线啪| 超碰久久综合| 色69大色97香蕉| 久久久国产精品亚洲精品| 加勒比日本在线| A啊啊在线观看| 中文字幕久久精视频久久大全| 色综合中文字幕不卡| 亚洲影视综合网| 亚洲 图片 综合91| 淫色网综合| 亚洲色图欧美色图制服丝袜| 欧色综合| 日本不卡二三区| 五十路二区在线| 国产精品久久久久久久免牛肉蒲团 | 九九综合色| 日韩在线76| 韩国一区二区精品亚洲| yirendaxiangjiashipin| 久久综合乱子伦国产免费| 嗯嗯啊啊用力视频免费| 韩国女主播青草在线| 中文字幕精品久久久久人妻红杏ⅰ| 久久爽爽精品| 国产精品大屁股999| 在线洲亚线| 91亚洲高清| 欧美成熟性爱精品| 国产91精品福利在线| 亚洲aV性爱| 日韩有码免费视频| 欧美视频第二页| 欧美日韩精品青青| 天天噜| 一级毛片久久久久久久女人18| 操逼操逼逼操操逼91| 欧洲熟妇xxXx欧美老妇裸体| 色综合98| 中文字幕久久亚州无码| 蜜桃久久一区二区| 日韩欧美成人性爱在线| 久热9| 亚洲精品久久久久久久蜜桃臀| 亚洲影院成人| 人妻熟女av国产网站| 国产精品老熟女一区二区| 久久久久78| 欧美92| 人人艹亚洲| 欧美激情综合| 神马久久啊啊| 丰满熟女一区二区三区在线播放| 日韩精品免费高清视频在线| 东京热亚洲一区二区| 丁香婷婷激情五月天无毒不卡| 97精品一区二区视频在线观看| 欧美Ⅴ性爱| 竹菊影视国产一区二区| 久久熟妇五十路一区| 欧美在线大香999| 在线综合 亚洲 欧美中文字幕| 超碰99在线观看| 亚洲污污网站| 久久亚洲中文字幕视频| 国产成人网址| 久久99深爱久久99精品| 欧美熟妇成人一区二区| 中文字幕第页| 日日AAvv| 久操视频资源站公开| 亚洲图片欧美日韩| 麻豆国产成人精品| 一级乱伦网站| 日韩精品一二三四| 小电影欧美91| av日韩手机在线影视| 绑缚麻绳人妻寝取完整版| 伊人操| 91五月天| 99re28在线观看| 日本精品不卡一二三区| 亚洲无限观看| 国产人伦a片信息免费片| 欧美综合色站| 久久草草亚洲蜜桃臀| 婷婷久草一区二区三区| 大鸡巴久久| 欧美在线干| 精品少妇高潮久久| 无码少妇精品一区二区60岁老人| 啊啊啊好疼| 大香蕉专区| 99后入| 日本欧美一区二区三区免费| h色99999| 嫖老熟女A片一二三区| 久久久91福利姬| 中日韩欧美精品无码AⅤ一区二区| 欧美久久人妻少妇一区二区| 75大香蕉| 亚洲精品成人动漫在线| 亚州中文字幕超碰97| 精品中文字幕一区二区| 亚拍在线| 日韩啪啪网| 超碰美国| 免費人妻夜夜爽天天爽爽一区| 日韩一级欧美一级国产一级台湾| 日日天天久久啊啊aaa| 欧美不卡在线一区二区| 蜜臀久久久国产| 郑州宾馆老熟女露脸啪啪| 春色综合免费| 中亚精品极乱| 亚洲无码国产探花在线观看| 性爱AV天堂| 九九黄色视频在线观看| 91精品人妻一区二区三区蜜桃| 久热69九色熟妇97| 中文字幕一二区二三区人妻专区| 超碰97欧美日韩| 免费观看啪视频| 亚洲图片另类| 在线观看视频91| 国内毛片免费h片在线| 啊啊啊啊好多水| 麻豆九九九| 乱伦av.com| 啊啊啊无码| 日韩电影天堂视频一区二区| 久久久久9999| 深喉吞精| 久久久九97| 午夜无遮挡男女啪啪视频| 亚洲影视高清第一页| 亚洲欧洲小说图片视频 | 一区二区三区色综合| 婷色五月天| 日本三级A片网站com| 新怡红院| 老鸭窝黄色视频网站| 另类小说五月天| 乱伦一区二区三区‘| 东京热毛片调教| 欧州激情视频在线一区二区| 99色天堂| 国产精品无码av| 天天日天天操天天射河南省| 热久久无毒不卡| 男人的天堂.com| 国产精品青草综合久久| 97硬碰| 婷婷五月天影院| 97在线精品观看视频| 亚洲色图欧美| 综合网亚洲在线| 亚洲视频二区 | 欧美在线啊啊啊| 蜜桃久久一区二区三区| 日本一本道A级黄色毛片试看60分钟| 国产高清自拍| 变态综合色| 亚洲一二三四区在线免费看视频| 日本97久久久精品| 99久久com免费视频′| 一区二区三区欧美激情| 亚洲乱伦图片视频| 国产又色又粗又黄又爽| 搡老女人老91妇女老熟女| 黑丝制服中文字幕| 91九色丰满高潮| 日日摸日日碰| 91丝袜熟女| 国产精品欧美激在线| 免费看污网站| 亚洲、日韩、综合、另类| 熟妇在线视频一区二区| 三级三久久线久久99久目本WW| 色官网色综合| www.99中文字幕| 九月激情婷婷| 大香焦A片| 777AV电影| 亚洲第一精品在线视频| 97在线精品观看视频| 91亚洲色人| 高清国产精品无码| 伊人黄色片| 亚洲国产av中文字幕久久| 日韩性爱一级片| 欧亚无码视频| 国产又色又粗又黄又爽| 国产日逼视频| 美女午夜福利免费视频| 久久国产热视频97电影| 顶级丝袜熟女一区二区三区| 五月天丁香婷婷综合网站| 国产av波波国产精品| 成人激情无码在线视频| 国产亚洲日本精品在线| 国产精品久久伊人| 91丨九色丨国产打屁股| 人妻熟女午夜精品在线| 97网址www| 精品十三区| 久久久久久久六六 | 一个人在线看的黄色电影网站| 欧美日韩理论一区| 超碰地址97| 91九色丰满高潮| 国产丝袜啪啪| 国产无码久久高清| 超碰在线香蕉| 99综合视频| 欧美性后入| 国产第二页| 3P丝袜熟女 色综合| 欧美日本成人一区二区| 欧美极品性爱天天射| www…国产操逼| 超碰日本97美女人妻人人玩人人爱| 射丝袜高跟鞋99| 九九九热精品| 欧洲精品一级二级精品综合视频综合| 乱操乱伦AV| 日韩av一级黄片| 午夜精品久久久久久久男人的天堂| 97久精品| 久久精品成人一区二区三区蜜臀| 日韩有码专区| 亚洲乱伦图片视频| 夜夜爽77777| 色综合久久夜色精品国产天堂| 日韩欧美久久婷婷网站| 岛国爱情动作片在国产AV无码专区亚洲AV漫画| 飘花国产午夜精品不卡| AV中文在线| 人人超碰在线观看黄| 九九九九一区| 久久久精品电影| 一块操欧美性爱| 1区2区3区中文字幕日韩| 久久成人东京热人妻| 一本色道无码DVD中文字幕| 日韩中文字幕视频在线观看| 欧美一区二区在线资源| 98超碰欧美| 欧美日韩在线国产在线| 久久久影院| 99热在线只有精品| 一线黄色免费性爱片| 江都AV在线| 国产精品成人午夜福利| 强奸乱伦麻豆| 欧美白嫩女HD| 亚洲无码电影久久久| 九九aV| 亚洲精品97中文字幕| 在线毛片片免费观看| 亚洲丝袜二区| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 欧美性生活内射| 色色毛片| 另类综合另类| 91色宗合| 婷婷五月丁香五月| 青青操日韩| 久久精品国产免费观看99| 天天综合网入口~91| 国产高清午夜成人在线观看| 99精品在线| 这里都是精品| 中文字幕熟女人妻丝袜丝| 亚洲色图尤物视频| 久久天天躁日日躁狠狠躁 | 亚洲 欧美日韩 另类| 久久久久久久久久久久久久久久9| 97国产人人| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 成年男人的天堂| 欧美双插| 老女人爆菊| 亚洲人天堂| 欧美黑人猛交春色影视大全| 欧美97超碰| 亚洲一区二区麻豆影院| 欧美78P| 天天影视网综合少妇| 97综合国产| 青青国产精品在线| 久久大黄片| 啊啊啊啊啊操我视频| 亚洲日韩人妻中文字幕一区| 打av高清| 亚洲好看强奸乱伦| 91超碰在线播放| 粉嫩av在线一区二区| 伊人久大| 婷色五月天| 97精品免费| 综合网久久| 国产精品视频一区二区三区八戒| 很狠操| 深爱激情五月天| 97免费在线视频| 高潮嗯啊性感美女久久久| 国产亚洲精品美女久久久| 日韩淫色网| 99久久9| 国产黄色剧情影片麻豆免费播放| 91网站18在线| www.国产高潮精品| 日夜精品| 欧美精品偷拍| 干婷婷综合网| 欧美色女人| 欧美中文狠| 97久久超碰| 日韩国产精品人妻无码久久久| 欧美国产成人在线| 狠狠色婷婷777| 日韩免费a级毛片无码a∨ | 桃花色涩综合影院| 黑人猛交| 亚州图片第一页| 蜜桃臀av在线观看| 18禁免费视频| 麻豆91熟妇人妻中文字幕茄子| 性色高清在线| 曰韩av中文字幕专区| 日本成a人v网站在线观看| 亚洲天堂美臀在线| 欧美 亚洲 制服 精品| 国产区91柔拿会所技师| 麻豆成人影音在线| 精品中文一区二区| 久jiu久神马影院| 丝袜熟女一区二区三区| 国产视频三区四区| 欧美少妇性爱网站| 日韩精品在线视频,日韩精品……| 亚热日本熟女| 久久久久国产亚洲一区欧美色图日韩| 欧亚乱色熟女一区二区| 黄色免费一级在线毛片| 91中出在线| 亚州日韩97| 中文字幕 一区二区 亚洲无码| 亚洲 欧美日韩 另类| 性爱网站一区二区| 美女91AV| 久久精品国产97欧美精品亚洲 | 亚洲色欲一区二区三区| 欧美日韩99| 干日本人少妇午夜寂寞影院| 欧美极品| 色97干| 桑老女人九区| 偷拍五区| 超碰中文字幕人妻草一区| 国内91熟女人妻丝袜天天精品视频在线| 亚乱色| 中国一级操逼视频| 日韩一级性爱无码| 国产一级高清免费观看| 国产综合久| 久久精品六区| 日本性一区| 超碰97久久国| 性爱AV天堂| 91中文精品日韩欧美在线| 欧美不卡在线美女| 欧美少妇熟女| 青青操青娱乐| 美女超碰978| 亚洲男人天堂Av| 天天操夜夜操| 国产精品色| 激情99| 日本一本一区二区三区四区五区欧美日韩中文字幕| 图片区小说区| 日韩黄色电影网站| 最近的最新的中文字幕视频| 精品在线观看视频在线| 九色在线熟女国产黑人| 亚洲中文国际强奸字幕| 日韩美女操b| 国产精品久久久无码AV网站| 欧美aaaaaaa| 欧美日本一区二区a人| 天天做日日做天天欢。| 五月天婷精品激情| 国产 日韩 另类 视频一区爱| av天堂5| 国产精品国产拍高清AV| 91操操| 熟女啪啪视频| 99热精品国产| 久久99精品九九久久久婷婷| 国产精品久久久久999| 日本一级不卡一二区| 东北老熟女| 啊啊啊啊啊好多水| 一级做受视频免费是看美女| 亚洲性爱电影| 亚洲国产精品成人无码久久久 | 手机在线大香蕉| 密桃99999| 欧美性爱97超碰| 大香蕉色网| 亚洲十八禁止| 婷婷激情四射| 老熟女乱伦一区| 精品性爱一二三区| 五月综合久久| 精产国品一区二三产品| 爱妻综合网| 精品免费囯产一区二区三区| 草草草视频在线免费看| 日韩激情啪啪啪| 97av在线视频| 密臀在线免费观看| 五月婷婷青青草娱乐伊人| 后入国产| 激情抓乳插进去啪啪啪日韩| 一区二区三区视频在线观看免费| 日本一区三级韩国| 小骚逼被操的爽不爽| 91精品久久久久| 日韩簧片免费看| 亚洲欧美国产日本一区二区三区| av婷婷色网| 亚洲日韩资源| 婷婷av在线中文字幕| 亚洲精品美女久久久久久久久| 啪啪视频mP4| 乱色老一区二区三区的观看方式| 久久国产成人精品国产成人亚洲| 国产精品久久久久久无码红治院| 桃色五月天| 欧美日韩亚洲天堂网| 伊人九九| 成人性爱av.com| 亚洲色图在线视频| 国产AV线| www亚洲免费| 欧美在线官网| 久久精品噜噜噜成人看免欧美大片| 精品人妻中文字幕高清| 大香蕉黄色一区| 久草草一二三四区久久| 91狠狠| 婷婷激情五月综合| 欧美在线中M| 波多野结衣AV无码一区| 人妻啊啊人妻啊啊| 亚洲色棕合| 国产精品国产自产高清AV| 在线观看十八禁| 欲香欲色综合天天伊人| 国语精品内射在线观看| 好吊色一区| 日本一道在线播放高清| 婷婷综合| 91精品国产91久久久久久久久久久久| 密乳AV免费观看| 青青草吊丝| 日本操逼视频免费| 色色色综合| 日韩97超碰| 99精品久久久久久久婷婷蜜桃| 欧美亚州色的图| 中文字幕五月婷婷免费| 女同性恋一区二区三区精品视频| 精品欧美乱码久| 五月婷婷丁香| 国产9熟妇视频网站| 影音先锋中文字幕日本好一区二区| 嗯嗯啊好大| 都市久久精品激情亚洲| 久久曰曰| 欧美伊人久久综合网| 91中文精品日韩欧美在线| 51国产午夜精品视频| 日本精品88888888| 精品人成视频在线观看| 色穴精品| 日本熟女不卡视频| 欧亚不卡| 久久五十路熟女人妻| 欧美成人综合| 蜜桃视频成a人v在线| 国产诱惑| 欧洲熟妇xxXx欧美老妇裸体 | 婷婷久久综合| 亚洲天天更新| 熟妇最新先锋一二三区| 性爱视频免费网址| 91美女在线视频| 超碰在线观看av不卡| 中出后入| 色情五月综合婷婷| 香蕉99秘 一区精品蜜桃臀| 9久超碰| 爱妃国产亚洲视频中文字幕| 自拍视频大全亚洲专媒视频/一区二区三区 | 人妻一区二区三区四区视频| 97色爱| 人人妻人射| 9久9久| 好湿好紧好爽 视频| 少妇厨房愉情理伦片bd在线观看| 亚州色国| 五月婷婷爱六月丁香色| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 色五月AV在线| 色婷婷视频| 成人小说另类在线| 亚洲天堂资源| 大香蕉操久久| av网站在线观看了| 久久久涩| 男人的天堂色偷偷青青草视频婷婷网| 乱欲一区二区| 人妻久久一区二区三区 | 亚洲最大AV网| 久久久久久九| 欧美国产成人在线| 色婷婷99| 日韩性爱1级片视频| 理论久久婷婷网8| 大香蕉在线86| 亚卅熟女乱色| 亚洲性爱成人| 九九久久国产精品怡红院| 美女人妻色网站| 日韩激情中文字幕有码| 亚洲欧美日韩中文播放| 超碰97亚洲区| 丰满人妻一区二区三区在线| 国产黄色 A 片免费看| 中日韓欧美高清| 久久偷偷色综合蜜桃| 欧美超碰9798| 亚洲中文字母在线播放| 韩国免费播放一级毛片| 亚洲蜜臀精品视频久久| 九九久久99| 日韩三级视频一区二区三区| 99精品视频在线观看免费| 欧美91精品国产自产| 97网站在线观看| 欧美少妇性乱| 乱日视频| 99热| a级理论午夜日本| 日韩综合成人免费视频| 校园春色 欧美| 高清孕妇孕交 交孕妇| 久久99手机免费视频| 国产丝袜视频| 久久精品国产72国产精品福利 | 91AV天美在线视频| 精品十三区| 亚洲日韩肥臀视频在线观看| 色爱综合网| 日韩欧美俄罗斯A片| 无码精品久久| 国产精品999aaa| 久久久久久久9| 久伊人网78| 蜜臀va69| 日日日日做夜夜夜夜做无码97| 97干天天| 日少妇亚洲版| 日韩一区二区熟女| 91国产精品熟女| 久久久蜜桃一区二区三区| 亚洲精品视频在线播放| 国产一区二区欧美日本| 免费精品人妻一区二区三| 韩三级a视频在线观看| 精品一区二区国产日韩| 啊啊啊好想要| 超碰78| 在线观看中文字幕| 亚洲色图图片| 久久久久亚洲Av无码专区老牛影视 | 欧美伊人电影| 日韩97P| 亚洲男人在线观看天堂| 91无码人妻精品一区二区三区蜜桃 | 福利天堂| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 九九九九九九免费视频| 亚洲清纯唯美| 在线电影亚洲色图| 五十路成人在线视频二区三区| 性感美女啊啊啊在线| 日本天堂在线播放| 日韩综合第八区国产精品| 中文字幕精品三级久久久| 亚洲天堂一区二区| 99re视频在线播放青草| 精品1区2区3区| 国产一区二区二区按摩精品啪视频| 成人a大片在线观看| a片久久久久久久久久久久 | 欧美情色亚洲|