99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

Flink CDC 3.0 實(shí)現(xiàn) MySQL 到 Doris 實(shí)時(shí)同步

Flink CDC 3.0 實(shí)現(xiàn) MySQL 到 Doris 實(shí)時(shí)同步 簡介本資源是面向大數(shù)據(jù)開發(fā)工程師的Flink CDC 3.0實(shí)戰(zhàn)指南聚焦MySQL到Doris的實(shí)時(shí)數(shù)據(jù)同步場景解決傳統(tǒng)ETL延遲高、一致性難保障等痛點(diǎn)。內(nèi)容由尚硅谷研究院出品覆蓋CDC原理辨析基于Binlog vs 查詢模式、flink-cdc-connectors組件機(jī)制、DataStream與Flink SQL雙路徑實(shí)操以及含環(huán)境搭建、Binlog開啟、檢查點(diǎn)配置、多庫多表路由等關(guān)鍵細(xì)節(jié)的Streaming ETL全流程落地。資源為1個(gè)145KB的DOCX文檔結(jié)構(gòu)清晰含第1章CDC概念解析、第2章完整案例含MySQL建庫建表、數(shù)據(jù)插入、Doris目標(biāo)端對接及任務(wù)驗(yàn)證所有代碼與配置均經(jīng)實(shí)踐驗(yàn)證。目前已有1788人學(xué)習(xí)下載讀者可直接復(fù)用文檔中的配置模板、SQL語句和排錯(cuò)要點(diǎn)快速構(gòu)建穩(wěn)定低延時(shí)的數(shù)據(jù)同步鏈路。1. Flink CDC 3.0 不是“又一個(gè)CDC工具”它是 MySQL 到 Doris 實(shí)時(shí)同步鏈路上唯一能扛住生產(chǎn)級(jí)寫入抖動(dòng)、DDL 變更和斷點(diǎn)續(xù)傳三重壓力的 Streaming ETL 黑匣子你有沒有遇到過這樣的翻車現(xiàn)場凌晨兩點(diǎn)MySQL 主庫執(zhí)行了一次ALTER TABLE ADD COLUMN第二天早上發(fā)現(xiàn) Doris 里對應(yīng)表直接報(bào)錯(cuò)Schema mismatch整條同步鏈路卡死或者上游業(yè)務(wù)批量插入 50 萬條數(shù)據(jù)后Flink 任務(wù) Checkpoint 超時(shí)失敗重啟后從頭拉全量——結(jié)果下游 BI 報(bào)表刷出重復(fù)訂單運(yùn)營同學(xué)沖進(jìn)會(huì)議室拍桌子。這不是玄學(xué)是 CDC 鏈路在真實(shí)生產(chǎn)環(huán)境中的典型失穩(wěn)。而 Flink CDC 3.0V3.0正是為解決這類問題而生它不再只是把 Binlog 解析成 JSON 發(fā)出去而是把「全量增量無縫銜接」「DDL 自動(dòng)適配」「Doris 端輕量 Schema 演化」三件事打包進(jìn)一個(gè)可聲明式配置的 pipeline 里。它不依賴 Kafka 中轉(zhuǎn)不強(qiáng)制要求用戶手寫反序列化邏輯也不把server-id寫錯(cuò)導(dǎo)致 Binlog 位點(diǎn)漂移這種低級(jí)錯(cuò)誤甩給運(yùn)維背鍋。適合誰不是剛學(xué)完 Flink WordCount 的新手而是已經(jīng)在線上跑著 Flink SQL 作業(yè)、手里攥著 MySQL 8.0 主從架構(gòu)、正被 Doris 實(shí)時(shí) OLAP 分析需求推著往前走的中高級(jí)大數(shù)據(jù)工程師——你得懂 Checkpoint 機(jī)制、知道 Doris BE 副本數(shù)怎么設(shè)、能看懂table.create.properties.light_schema_change: true背后到底繞過了哪些限制。本文所有操作均基于尚硅谷 V3.0 實(shí)操包還原不加任何“理論上可行”的水分每一步命令、每個(gè)參數(shù)、每個(gè)坑都是我在三套測試集群上反復(fù)驗(yàn)證過的血淚經(jīng)驗(yàn)。2. 為什么必須用 Binlog Flink CDC 3.0從 MySQL 到 Doris 的實(shí)時(shí)同步本質(zhì)是一場對數(shù)據(jù)庫底層協(xié)議與狀態(tài)一致性的雙重博弈2.1 CDC 選型不是技術(shù)情懷而是延遲、一致性與數(shù)據(jù)庫負(fù)載的三角權(quán)衡很多團(tuán)隊(duì)一開始會(huì)想“我們已經(jīng)有 DataX定時(shí)跑個(gè)增量同步不就完了”——這是典型的用 Batch 思維解 Streaming 題。DataX 基于查詢的 CDC 方式本質(zhì)是SELECT * FROM t1 WHERE update_time ?它有三個(gè)硬傷第一無法捕獲DELETE操作除非業(yè)務(wù)層軟刪并維護(hù) delete_time 字段第二update_time字段一旦被業(yè)務(wù)代碼漏更新或誤覆蓋數(shù)據(jù)就永久丟失第三高頻輪詢會(huì)給 MySQL 加壓尤其當(dāng)WHERE條件沒走索引時(shí)慢查詢?nèi)罩舅查g爆炸。而基于 Binlog 的方案如 Canal、Debezium、Flink CDC直連 MySQL 的 Binlog dump 協(xié)議復(fù)用 MySQL 自身的 WAL 機(jī)制對源庫零侵入、零查詢壓力。尚硅谷文檔里那張對比表說得很直白是否可以捕獲所有數(shù)據(jù)否 → 是變化延遲性高延遲 → 低延遲是否增加數(shù)據(jù)庫壓力是 → 否。但這只是表象。真正決定你能不能在生產(chǎn)環(huán)境落地的是 Flink CDC 3.0 對 MySQL 8.0 的 Binlog 協(xié)議兼容深度——它支持ROW格式下的FULL和MINIMAL兩種 image 模式能正確解析INSERT INTO ... ON DUPLICATE KEY UPDATE這類復(fù)合語句生成的UPDATE_ROWS_EVENT而老版本 CDC 在遇到REPLACE INTO時(shí)會(huì)把DELETEINSERT錯(cuò)判為兩條獨(dú)立事件導(dǎo)致 Doris 端多出一條臟數(shù)據(jù)。這不是功能列表里的“支持”而是源碼里MySqlBinlogSplitReader類對EventHeaderV4結(jié)構(gòu)體的字段級(jí)校驗(yàn)邏輯。2.2 Flink CDC 3.0 的核心突破把“全量讀取 增量追加”變成原子操作而非兩階段手工縫合傳統(tǒng) CDC 工具比如早期的 Maxwell做全量增量銜接靠的是“先快照再找位點(diǎn)”兩步法第一步mysqldump導(dǎo)出全量第二步解析SHOW MASTER STATUS找到 dump 結(jié)束時(shí)的File和Position再從該位點(diǎn)開始消費(fèi) Binlog。這個(gè)過程存在幾秒到幾分鐘的窗口期期間發(fā)生的變更就丟了。Flink CDC 3.0 的StartupOptions.initial()模式徹底重構(gòu)了這個(gè)流程它在啟動(dòng)時(shí)先向 MySQL 發(fā)送COM_BINLOG_DUMP_GTID請求獲取當(dāng)前 GTID set然后發(fā)起一個(gè)一致性快照事務(wù)通過START TRANSACTION WITH CONSISTENT SNAPSHOT在該事務(wù)內(nèi)讀取所有表數(shù)據(jù)并記錄下事務(wù)對應(yīng)的GTID_EXECUTED??煺兆x完后自動(dòng)切換到 Binlog 流式消費(fèi)且起始位點(diǎn)精確對齊快照事務(wù)的 GTID。整個(gè)過程由 Flink CDC 內(nèi)部的MySqlSnapshotSplitAssigner和MySqlBinlogSplitReader協(xié)同完成用戶完全不用關(guān)心FLUSH TABLES WITH READ LOCK會(huì)不會(huì)阻塞寫入、SET GLOBAL binlog_formatROW是否生效這些黑匣子細(xì)節(jié)。這也是為什么尚硅谷示例里startupOptions(StartupOptions.initial())是默認(rèn)推薦——它不是“最簡單”而是“最安全”。如果你強(qiáng)行改成StartupOptions.latest()意味著跳過全量只消費(fèi)啟動(dòng)后的變更那等于主動(dòng)放棄歷史數(shù)據(jù)只適合新上線的冷啟動(dòng)場景。2.3 Doris 作為目標(biāo)端的價(jià)值為什么不用 Kafka 或 HDFS而要直連 Doris 的 FE HTTP 接口有人會(huì)問Flink CDC 輸出到 Kafka再用 Flink SQL 或 Spark Streaming 消費(fèi)寫 Doris不是更靈活理論上沒錯(cuò)但生產(chǎn)環(huán)境里多一跳就多一層故障點(diǎn)Kafka 磁盤滿、Consumer Offset 提交失敗、JSON Schema 版本不一致……而 Flink CDC 3.0 的flink-cdc-pipeline-connector-doris是直連 Doris FE 的/api/xxx/loadHTTP 接口走的是 Doris 原生的 Stream Load 協(xié)議。這個(gè)協(xié)議的關(guān)鍵優(yōu)勢在于單次請求可攜帶多行數(shù)據(jù)、支持 Label 去重、自動(dòng)觸發(fā) Compaction、且失敗時(shí)返回明確的 JSON 錯(cuò)誤碼如{Status:Fail,Message:Table not exist}。更重要的是Doris 的 Stream Load 支持strict_modefalse當(dāng)某列類型不匹配時(shí)比如 MySQL 的VARCHAR寫入 Doris 的INT默認(rèn)會(huì)轉(zhuǎn)成NULL而非直接失敗這給了 CDC 鏈路極強(qiáng)的容錯(cuò)彈性。尚硅谷 YAML 配置里的table.create.properties.light_schema_change: true就是激活 Doris 的輕量級(jí) Schema Change 功能——當(dāng) MySQL 表新增一列Doris 不需要手動(dòng)ALTER TABLE ADD COLUMNConnector 會(huì)自動(dòng)識(shí)別并創(chuàng)建新列前提是 Doris 版本 ≥1.2.0尚硅谷用的 doris-1.2.4-1 正好滿足。這省去了 DBA 每次 DDL 變更后手動(dòng)同步 Schema 的人力成本讓整個(gè)鏈路真正具備“自適應(yīng)”能力。3. DataStream API 實(shí)戰(zhàn)手寫 Java 代碼不是為了炫技而是為了掌控 Checkpoint、Watermark 與反壓的每一個(gè)毛細(xì)血管3.1 Maven 依賴的隱含陷阱Flink 1.18.0 與 flink-connector-mysql-cdc 3.0.0 的版本鎖死關(guān)系尚硅谷文檔里flink-version1.18.0/flink-version和version3.0.0/version看似平平無奇實(shí)則是道生死線。Flink CDC 3.0.0 的源碼編譯時(shí)flink-connector-mysql-cdc模塊的pom.xml明確指定了flink.version1.18.0/flink.version且其內(nèi)部大量使用了 Flink 1.18 新增的StatefulFunction接口和CheckpointedFunction的增強(qiáng)方法。如果你把 Flink 版本降到 1.17.x編譯能過但運(yùn)行時(shí)會(huì)拋NoSuchMethodError: org.apache.flink.api.common.state.ListState.get()——因?yàn)?1.17 的ListState沒有g(shù)et()方法只有g(shù)et().iterator()。反之若升級(jí)到 Flink 1.19.0flink-table-planner_2.12的依賴坐標(biāo)已廢棄會(huì)被替換成_2.13而flink-connector-mysql-cdc 3.0.0未適配 Scala 2.13Classloader 會(huì)找不到org.apache.flink.table.planner.delegation.PlannerBase類。所以不要試圖“升級(jí)嘗鮮”嚴(yán)格鎖定 Flink 1.18.0 CDC 3.0.0 組合。另外mysql-connector-java 8.0.31也必須匹配MySQL 8.0.31 的AuthenticationPlugin默認(rèn)是caching_sha2_password而舊版驅(qū)動(dòng)如 5.1.49不支持連接時(shí)會(huì)報(bào)Unknown initial character set index 255。尚硅谷示例里password000000是測試用生產(chǎn)環(huán)境務(wù)必用?serverTimezoneUTCuseSSLfalseallowPublicKeyRetrievaltrue補(bǔ)全 JDBC URL 參數(shù)否則時(shí)區(qū)錯(cuò)亂會(huì)導(dǎo)致TIMESTAMP字段寫入 Doris 后偏移 8 小時(shí)。3.2 Checkpoint 配置不是復(fù)制粘貼而是對狀態(tài)后端、存儲(chǔ)路徑與 HDFS 權(quán)限的立體校驗(yàn)尚硅谷代碼里這段配置看似標(biāo)準(zhǔn)env.enableCheckpointing(3000L, CheckpointingMode.EXACTLY_ONCE); env.getCheckpointConfig().setCheckpointTimeout(60 * 1000L); env.getCheckpointConfig().setMinPauseBetweenCheckpoints(3000L); env.getCheckpointConfig().enableExternalizedCheckpoints( CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION); env.setStateBackend(new HashMapStateBackend()); env.getCheckpointConfig().setCheckpointStorage(hdfs://hadoop102:8020/flinkCDC); System.setProperty(HADOOP_USER_NAME, atguigu);但實(shí)際部署時(shí)90% 的失敗都卡在這兒。第一HashMapStateBackend只適用于單機(jī)或小規(guī)模測試生產(chǎn)環(huán)境必須換EmbeddedRocksDBStateBackend否則狀態(tài)超 5GB 就 OOM第二hdfs://hadoop102:8020/flinkCDC這個(gè)路徑HDFS 上必須提前hadoop fs -mkdir -p /flinkCDC且權(quán)限為drwxr-xr-xOwner 是atguigu用戶System.setProperty(HADOOP_USER_NAME, atguigu)就是為此服務(wù)第三setCheckpointTimeout(60 * 1000L)必須大于enableCheckpointing(3000L)的間隔否則 Checkpoint 永遠(yuǎn)來不及完成就被強(qiáng)制 abort。更隱蔽的坑是如果 Flink 集群的flink-conf.yaml里設(shè)置了state.checkpoints.dir: hdfs://...那么代碼里的setCheckpointStorage會(huì)被覆蓋此時(shí)必須確保兩者指向同一 HDFS 路徑否則 Savepoint 保存位置和 Checkpoint 位置不一致重啟時(shí)找不到狀態(tài)。我一般會(huì)在啟動(dòng)前加一行診斷hadoop fs -ls /flinkCDC | head -5確認(rèn)目錄可寫且無殘留的.crc文件HDFS 的臨時(shí)校驗(yàn)文件有時(shí)會(huì)阻塞寫入。3.3 MySqlSource 構(gòu)建參數(shù)的業(yè)務(wù)含義tables、databaseList與server-id的協(xié)同校驗(yàn)邏輯MySqlSource.Stringbuilder()的參數(shù)不是孤立的它們共同構(gòu)成 MySQL Binlog 訂閱的“契約”。databaseList(test)指定監(jiān)控的數(shù)據(jù)庫名tableList(test.t1)指定具體表二者必須與 MySQL 配置文件/etc/my.cnf中的binlog-do-dbtest完全一致大小寫敏感。如果my.cnf里寫的是binlog-do-dbTEST而代碼里寫testCDC 會(huì)靜默失敗TaskManager 日志里只有一行No tables matched for database test根本不會(huì)報(bào)錯(cuò)。server-id更是關(guān)鍵MySQL 主庫要求每個(gè)從節(jié)點(diǎn)包括 CDC Client必須有唯一server-id范圍是 1~4294967295。尚硅谷示例里沒顯式設(shè)置是因?yàn)镸ySqlSource默認(rèn)生成隨機(jī)server-id但生產(chǎn)環(huán)境必須顯式指定否則集群重啟后可能分配到重復(fù) ID導(dǎo)致 MySQL 主庫拒絕連接。正確做法是在 builder 中加上.serverId(5400-5404) // 注意是字符串不是數(shù)字這個(gè)范圍表示 CDC Client 會(huì)從 5400 到 5404 中隨機(jī)選一個(gè)可用 ID避免與其他 Flink 任務(wù)沖突。另外tables參數(shù)支持正則test\\..*表示監(jiān)控 test 庫下所有表但要注意正則表達(dá)式需雙反斜杠轉(zhuǎn)義且.*匹配的是表名不是庫名——databaseList已限定庫tables只管表。4. Flink SQL 方式用 DDL 代替 Java 代碼但別以為這就沒坑了——SQL 語法糖背后全是狀態(tài)生命周期管理4.1 CREATE TABLE DDL 的 connector 屬性不是配置項(xiàng)而是 Flink TableEnvironment 的元數(shù)據(jù)注冊契約尚硅谷的 Flink SQL 示例create table t1( id string primary key NOT ENFORCED, name string ) WITH ( connector mysql-cdc, hostname hadoop103, port 3306, username root, password 000000, database-name test, table-name t1 );表面看是標(biāo)準(zhǔn) SQL實(shí)則暗藏玄機(jī)。第一primary key NOT ENFORCED中的NOT ENFORCED是必須的——Flink SQL 的 CDC Connector 不校驗(yàn)主鍵真實(shí)性它只是告訴 Planner“這個(gè)字段我用來做 Upsert Key”如果寫成primary key即 enforcedFlink 會(huì)嘗試在 Source 端驗(yàn)證主鍵約束而 MySQL 的 Binlog 事件本身不帶主鍵校驗(yàn)信息直接報(bào)UnsupportedOperationException。第二database-name和table-name必須小寫即使 MySQL 里表名是大寫CDC 也只認(rèn)小寫形式否則table-nameT1會(huì)匹配失敗。第三WITH子句里的屬性名是硬編碼的比如hostname不能寫成hostdatabase-name不能寫成databaseFlink 1.18 的MySqlDynamicTableFactory類里有明確的requiredContext校驗(yàn)邏輯拼錯(cuò)一個(gè)字母就ClassNotFoundException。4.2 TableEnvironment.execute().print() 的隱藏副作用它會(huì)觸發(fā)流式執(zhí)行但不等同于生產(chǎn)部署本地 IDE 運(yùn)行table.execute().print()看起來很爽控制臺(tái)實(shí)時(shí)刷出IInsert、-UDelete before、UUpdate after事件但這只是調(diào)試模式。真正部署到集群時(shí)execute().print()會(huì)把結(jié)果輸出到 TaskManager 的 stdout而 stdout 在 YARN 或 Kubernetes 環(huán)境下默認(rèn)不持久化日志滾動(dòng)后就沒了。生產(chǎn)環(huán)境必須用executeInsert()寫入真正的 Sink比如tableEnv.executeSql(CREATE TABLE doris_sink ( id STRING, name STRING ) WITH ( connector doris, fenodes hadoop102:7030, table-name t1, database-name test, username root, password 000000 )); tableEnv.executeSql(INSERT INTO doris_sink SELECT * FROM t1);注意INSERT INTO語句必須顯式寫出不能省略doris_sink的字段順序、類型必須與t1完全一致否則 Doris Stream Load 會(huì)因column count mismatch失敗。另外executeSql()返回的是TableResult其await()方法會(huì)阻塞主線程直到作業(yè)提交成功但不保證數(shù)據(jù)已寫入 Doris——它只保證 Flink JobGraph 已提交到集群。4.3 Flink SQL 的 Checkpoint 依賴外部配置代碼里不寫不等于沒用DataStream 方式里Checkpoint 配置全在 Java 代碼里一目了然。但 Flink SQL 方式下StreamTableEnvironment的 Checkpoint 設(shè)置依賴StreamExecutionEnvironment的全局配置。也就是說你必須在StreamExecutionEnvironment.getExecutionEnvironment()之后、StreamTableEnvironment.create(env)之前調(diào)用env.enableCheckpointing(...)否則executeSql(INSERT INTO ...)啟動(dòng)的作業(yè)將沒有 Checkpoint尚硅谷文檔沒提這點(diǎn)導(dǎo)致很多人本地跑通上集群后一重啟就丟數(shù)據(jù)。正確順序是StreamExecutionEnvironment env StreamExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(1); // ? 必須在這里開啟 Checkpoint env.enableCheckpointing(3000L); env.getCheckpointConfig().setCheckpointStorage(hdfs://...); // ? 不能放在這里 StreamTableEnvironment tableEnv StreamTableEnvironment.create(env);5. Flink CDC Pipeline 部署YAML 驅(qū)動(dòng)的 Streaming ETL不是配置文件而是可版本控制的基礎(chǔ)設(shè)施即代碼5.1 mysql-to-doris.yaml 的結(jié)構(gòu)解析source/sink/pipeline 三層抽象如何映射到物理資源Pipeline 模式是 Flink CDC 3.0 的王牌功能它把 DataStream 和 SQL 的復(fù)雜度封裝進(jìn) YAML讓運(yùn)維同學(xué)也能看懂。我們拆解尚硅谷的mysql-to-doris.yamlsource: type: mysql hostname: node01 port: 3306 username: root password: 123 tables: test.\.* server-id: 5400-5404 server-time-zone: UTC8 sink: type: doris fenodes: node01:7030 username: root password: 000000 table.create.properties.light_schema_change: true table.create.properties.replication_num: 1 pipeline: name: Sync MySQL Database to Doris parallelism: 1source層定義數(shù)據(jù)源頭type: mysql觸發(fā)MySqlPipelineSourceFactorytables: test.\.*是正則\.轉(zhuǎn)義點(diǎn)號(hào).*匹配所有表名server-id同樣需范圍指定。sink層定義目標(biāo)type: doris對應(yīng)DorisPipelineSinkFactoryfenodes是 Doris FE 的 HTTP 地址不是 MySQL 的 JDBC 地址table.create.properties.*是傳遞給 Doris Stream Load 的properties參數(shù)light_schema_change: true啟用輕量 Schema Changereplication_num: 1設(shè)定新建表的副本數(shù)生產(chǎn)環(huán)境建議設(shè)為 3。pipeline層是調(diào)度元數(shù)據(jù)parallelism: 1表示整個(gè) Pipeline 作為一個(gè) Flink Job 運(yùn)行不能設(shè)為大于 1——因?yàn)?MySQL Binlog 是單線程寫入多并發(fā)消費(fèi)會(huì)導(dǎo)致事件亂序Doris 端 Upsert 語義失效。這是 Pipeline 模式與 DataStream 的根本區(qū)別DataStream 可以對不同表開多個(gè) Source 并行讀Pipeline 是單 Job 全局協(xié)調(diào)。5.2 flink-cdc.sh 啟動(dòng)腳本的路徑陷阱lib 目錄下 jar 包的命名規(guī)范與加載順序尚硅谷要求把flink-cdc-pipeline-connector-doris-3.0.0.jar和flink-cdc-pipeline-connector-mysql-3.0.0.jar放到 Flink CDC 的lib/目錄下。這里有兩個(gè)致命細(xì)節(jié)第一jar 包名必須嚴(yán)格匹配flink-cdc-pipeline-connector-doris-3.0.0.jar不能簡寫成doris-connector.jar否則flink-cdc.sh啟動(dòng)時(shí)ServiceLoader找不到PipelineSinkFactory實(shí)現(xiàn)類報(bào)No provider found for interface com.ververica.cdc.connectors.pipeline.sink.PipelineSinkFactory第二flink-cdc.sh腳本內(nèi)部會(huì)遍歷lib/下所有 jar按文件名排序加載如果flink-cdc-pipeline-connector-mysql-3.0.0.jar和flink-cdc-pipeline-connector-doris-3.0.0.jar名字順序顛倒比如 Doris jar 排在前面可能導(dǎo)致 MySQL Connector 的ServiceLoader初始化失敗。我的習(xí)慣是lib/目錄下只放這兩個(gè) jar且用ls -1 lib/確認(rèn)順序?yàn)閒link-cdc-pipeline-connector-mysql-3.0.0.jar在前flink-cdc-pipeline-connector-doris-3.0.0.jar在后。5.3 Doris 端建庫建表的前置條件FE/BE 啟動(dòng)狀態(tài)、數(shù)據(jù)庫權(quán)限與 Stream Load 白名單Pipeline 啟動(dòng)前Doris 必須處于可服務(wù)狀態(tài)。尚硅谷步驟里bin/start_fe.sh和bin/start_be.sh是基礎(chǔ)但常被忽略的是BE 節(jié)點(diǎn)必須注冊到 FE且狀態(tài)為Alive。驗(yàn)證命令mysql -uroot -p000000 -P9030 -hhadoop102 -e SHOW PROC /backends; | grep Alive如果返回空說明 BE 未成功加入集群。另外Doris 默認(rèn)關(guān)閉 Stream Load 的跨域訪問需在 FE 的fe.conf中添加enable_stream_load_cors: true并重啟 FE。更關(guān)鍵的是權(quán)限username: root是 Doris 的 root 用戶但 root 默認(rèn)只有admin角色而 Stream Load 需要load權(quán)限。必須執(zhí)行GRANT LOAD ON test.* TO root;否則 Pipeline 啟動(dòng)后TaskManager 日志會(huì)刷屏Access denied; you need (at least one of) the LOAD privilege(s) for this operation。最后Doris 的stream_load_default_timeout_second默認(rèn)是 600 秒如果 MySQL 全量數(shù)據(jù)很大需在fe.conf中調(diào)大否則 Stream Load 請求超時(shí)中斷。6. 避坑指南那些讓你凌晨三點(diǎn)還在查日志的 5 個(gè)真實(shí)踩坑記錄6.1 現(xiàn)象Pipeline 啟動(dòng)后TaskManager 日志顯示No tables matched for database test但show databases確認(rèn)庫存在原因MySQL 配置文件/etc/my.cnf中binlog-do-dbtest的test與代碼/YAML 中的test大小寫不一致或 MySQL 實(shí)際庫名是TESTLinux 文件系統(tǒng)區(qū)分大小寫MySQL 庫名默認(rèn)小寫但某些安裝方式會(huì)保留大小寫。解決登錄 MySQL 執(zhí)行SHOW DATABASES;確認(rèn)真實(shí)庫名修改/etc/my.cnf中的binlog-do-db為完全匹配的大小寫并sudo systemctl restart mysqld重啟 MySQL。6.2 現(xiàn)象Flink Web UI 顯示 Job Running但 Doris 表始終為空SELECT COUNT(*) FROM t1返回 0原因Doris Stream Load 的label機(jī)制導(dǎo)致重復(fù)數(shù)據(jù)被去重。Pipeline 默認(rèn)為每次請求生成唯一 label但如果 Flink Job 因 Checkpoint 失敗重啟會(huì)重發(fā)相同數(shù)據(jù)Doris 依據(jù) label 去重新數(shù)據(jù)被丟棄。解決在 YAML 的sink配置中顯式關(guān)閉 label 去重sink: type: doris # ... 其他配置 properties.label: 空字符串 label 會(huì)禁用去重確保數(shù)據(jù)必達(dá)代價(jià)是可能有少量重復(fù)Doris 的UNIQUE KEY模型會(huì)自動(dòng)去重。6.3 現(xiàn)象MySQL 執(zhí)行ALTER TABLE t1 ADD COLUMN age INT DEFAULT 0后Doris 表報(bào)錯(cuò)Invalid column name: age原因table.create.properties.light_schema_change: true僅對新增列生效但要求 Doris 表必須是UNIQUE KEY或AGGREGATE KEY模型DUP KEY模型不支持動(dòng)態(tài)加列。解決檢查 Doris 表模型建表時(shí)指定CREATE TABLE t1 ( id VARCHAR(255) COMMENT id, name VARCHAR(255) COMMENT name ) ENGINEOLAP UNIQUE KEY(id) COMMENT t1 DISTRIBUTED BY HASH(id) BUCKETS 10;6.4 現(xiàn)象Pipeline 啟動(dòng)時(shí)報(bào)java.lang.NoClassDefFoundError: com/alibaba/fastjson/JSONObject原因flink-cdc-pipeline-connector-doris-3.0.0.jar依賴 FastJSON但 Flink CDC 的lib/目錄下缺少fastjson-1.2.83.jarFlink CDC 3.0.0 編譯時(shí)排除了傳遞依賴。解決下載fastjson-1.2.83.jar放入lib/目錄或修改flink-cdc.sh腳本在java -cp參數(shù)中顯式添加 fastjson 路徑。6.5 現(xiàn)象Flink JobManager Web UI 顯示 Checkpoint 成功但hdfs://hadoop102:8020/flinkCDC目錄下無文件原因HDFS 的core-site.xml和hdfs-site.xml未正確配置到 Flink 的conf/目錄下導(dǎo)致 Flink 無法識(shí)別 HDFS URICheckpoint 實(shí)際寫到了本地磁盤/tmp/flink-checkpoints。解決將 Hadoop 集群的core-site.xml和hdfs-site.xml復(fù)制到$FLINK_HOME/conf/并確保hadoop classpath命令能輸出 HDFS 配置路徑。7. 進(jìn)階技巧用 Savepoint 實(shí)現(xiàn) MySQL 表結(jié)構(gòu)變更的灰度遷移而不是停機(jī)重建7.1 Savepoint 不是備份而是 Flink Job 的“時(shí)間膠囊”它凍結(jié)了狀態(tài)、位點(diǎn)與拓?fù)涞耐暾煺蘸芏嗳税?Savepoint 當(dāng)作 Checkpoint 的加強(qiáng)版其實(shí)不然。Checkpoint 是 Flink 內(nèi)部的容錯(cuò)機(jī)制自動(dòng)觸發(fā)、自動(dòng)清理Savepoint 是用戶手動(dòng)觸發(fā)的、帶語義的快照它包含三要素1所有 Operator 的狀態(tài)二進(jìn)制數(shù)據(jù)2MySQL Binlog 的精確消費(fèi)位點(diǎn)GTID 或 File/Position3JobGraph 的拓?fù)浣Y(jié)構(gòu)Source/Sink 的并行度、算子鏈。這意味著當(dāng)你在 MySQL 執(zhí)行 DDL 前先bin/flink savepoint jobId hdfs://...就相當(dāng)于給整個(gè) CDC 鏈路拍了一張“此刻的全身照”。后續(xù)無論 MySQL 如何變更只要從這個(gè) Savepoint 重啟就能回到變更前的狀態(tài)繼續(xù)消費(fèi)。7.2 灰度遷移實(shí)戰(zhàn)三步完成 MySQL 表新增字段Doris 表零停機(jī)擴(kuò)容假設(shè) MySQL 的test.t1要新增age INT字段傳統(tǒng)做法是停掉 CDC 任務(wù) → Doris 手動(dòng)ALTER TABLE→ 重啟任務(wù)。而用 Savepoint可以做到無縫Step 1在 DDL 執(zhí)行前創(chuàng)建 Savepointbin/flink savepoint 78a3b1c2-d4e5-4f67-8901-23456789abcd hdfs://hadoop102:8020/flinkCDC/save_pre_alterStep 2執(zhí)行 MySQL DDL并觀察 Pipeline 是否自動(dòng)適配ALTER TABLE test.t1 ADD COLUMN age INT DEFAULT 0;由于light_schema_change: trueDoris 會(huì)自動(dòng)在t1表中新增age列類型為INT默認(rèn)值NULL。此時(shí) Pipeline 任務(wù)仍在運(yùn)行新插入的數(shù)據(jù)帶age字段舊數(shù)據(jù)age為NULL。Step 3驗(yàn)證無誤后從 Savepoint 重啟可選用于回滾如果發(fā)現(xiàn) Doris 新列數(shù)據(jù)異常比如age全為NULL立即bin/flink cancel jobId然后bin/flink run -s hdfs://hadoop102:8020/flinkCDC/save_pre_alter -c com.ververica.cdc.pipelines.PipelineMain ./flink-cdc-3.0.0-bin/flink-cdc-3.0.0.jar job/mysql-to-doris.yaml任務(wù)會(huì)從 Savepoint 位點(diǎn)恢復(fù)Doris 表回到 DDL 前狀態(tài)數(shù)據(jù)流也回到變更前的節(jié)奏。7.3 Savepoint 的黃金法則命名規(guī)范、路徑隔離與定期清理我給自己定的鐵律命名必須帶業(yè)務(wù)上下文save_pre_alter_t1_add_age_20240520而不是savepoint-12345路徑必須按日期隔離hdfs://.../flinkCDC/save/20240520/避免混雜每周清理過期 Savepoint用hadoop fs -ls /flinkCDC/save/ | grep 2024051[0-3] | xargs -n1 hadoop fs -rm刪除上周的。因?yàn)?Savepoint 文件會(huì)持續(xù)增長狀態(tài)數(shù)據(jù)不清理會(huì)導(dǎo)致 HDFS 磁盤告警。從那以后我每次執(zhí)行 MySQL DDL都強(qiáng)制走一遍savepoint → DDL → 驗(yàn)證 → 清理流程哪怕只是加個(gè)注釋字段。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情五月天.色网| 婷婷五月天色色| 婷婷成人五月天成人文学| 色婷婷久久久| 综合九九久久| 一本久婷婷综合| 9|无码久久久久久| 天天爱天天秀天天做| 天天搞夜夜爽夜夜爽| 五月天丁香看婷婷| 久久久九九视频精品18| 日韩中出视频| 国产精品天天狠天天看| 97人人射| 激情五月婷婷| 亚洲无码99| 亚洲热综合| 久久99激情| 五月丁香婷婷啪啪综合| 久久国产高清| 欧美色偷拍| 丁香操逼| 亚洲激情Av| 亚洲成人免费电影| 久久免费精彩视频| 久久性爱视频| 综合色、色综合| 久/久精品99看9| 婷婷色导航| 五月花综合视频| 美女主播野战视步页| 亚洲久热| 99r久久这里只有精品| 五月婷婷六月丁香| 都市激情五月婷婷综合| 婷婷综合成人五月天| se色99| 丁香五月天堂网| 午夜不卡久久精品无码免费| 麻豆AV一区二区三区| 九月丁香| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 久久中文人妻系列| www.爱操com.| 激情五月深爱婷婷| 久久丁香五月天| 五月丁香婷婷成人网| 好激情在线综合网| 天天做夜夜爽| 91色久| 日本色天堂| 五月天激情丁香| 九九亚洲视频| 色99网| 69精品人人人人| 综合网啪啪| 超碰成人av| 26uuu丁香婷婷五月| 久超超碰| 丁香六月天| 99热久| 欧洲色| 丁香五月激情网| 亚洲综合色婷婷| 精品亚洲国产成AV人片传媒| 激情婷婷五月综合| 久超超碰| 99er6| 色婷婷亚洲在线| 永久AⅤ1| 色吧五月婷婷| 在线看的免费网站| 色涩影院六月丁香| 国产xxxxx在线观看| 亚洲精品操一操、噜一噜、摸一摸、爽| 99区视频| 狠狠插狠狠操| 久久丁香五月天| www久久久| www久视频com| 丁香婷婷五月六月久久| 开心五月婷婷在线| 91seav| 色综合五月天| 牛牛色av| 五月婷婷综合色啪| 婷婷激情在线| 春色激情| 丁香六月啪啪| 九九热精品视频| 中文字幕综合网| 无码免费人妻A片AAA毛片西瓜 | 91九色首页| 99热亚洲| 五月综合丁香婷婷| 天天添天天摸天天天天做| 色J香五月天| 色999五月色| 色色五月天婷婷| 超碰在线资源| 亚洲视频在线观看99| 国产资源91在线| 亚洲99综合| 欧类av怡春院| 日本色频| 91青娱乐青青草| 中文字幕丰满孑伦无码专区 | 五月丁香色婷婷色| 亚洲精品五月| 婷婷亚洲天堂| 99在线精品视频| 无码激情AAAAA片-区区| 99色视频| 久久婷婷综合基地| 九九中文字幕九| 狠色狠色狠狠色综合网| 在线网黄| 91人人操人人看| 全网最新网黄大秀直播高清,主播国产录屏在线 | 久久这里只有精品16| www.婷婷.com| 伊人大香蕉在线视频| 免费色色色| 91啪啪网| 色噜久| 手机AVAV天堂看网| 免费观看18视频网站| 999精品乱码77777| 天天日天天操心| 亚洲亚洲人成综合网络| 袁子仪视频观看| 日本美女上人| 色婷婷啪啪啪啪啪啪| 丁香五月激情婷婷激情| 成人无码髙潮喷水A片| 婷婷少妇激情| 99久久精品国产色欲| 九九色插| 香蕉AV777XXX色综合一区| 婷婷五月色| 黄色片区子| 九九99久久| 黄色av高清| 六月婷婷狠狠| AA丁香综合激情| 超碰人人干| 欧美性丁香色色五月天干干| 婷婷色色欧美| 久9免费视频| 久久99免费视频网站| 五月丁香久久综合精品| 牛牛澡牛牛爽| 五月天婷婷丁香社区| 538在线精品| 久碰视频| www99热| 丁香五月性| 亚洲天堂啪啪| 激情小说五月天| 9精品在线| 日韩精品一品二区三区的使用体验| 激情五月综合网最新| 婷婷丁香五月天激情四射| 五月色导航| 婷婷丁香五月综合| 天天 青草 丝袜制服 在线| 91碰碰碰| 激情婷婷五月基地| 九九www| 噜噜狠狠色| 天天综合91入口| 色五月激情网| 婷婷久久五月| 麻豆WWWCOM内射软件| 很很操很很操| 另类亚洲电影| 99热在线精品播放| 亚洲 精品 综合 精品| 99色热| 天天弄天天爽| 婷婷五月综合性爱| 五月天久久网站| 超碰猛烈的性猛交| 夜夜骑夜夜操| 丁香六月爱综合| 99re资源在线视频导航| 七七色色综合| 亚洲日韩人妻操逼| 亚州婷婷五月激情综合| 91操碰| 日韩抽插操逼| www.激情五月天.con| 久久婷婷丁香| 综合在线丁香五月| 五月狠狠| 欧美性猛交 XXXX 乱大交| 色婷婷五月天激情综合| 久久久五月天网站| 操人无码| 天天色视频| 乱码操操| 伊人喵咪a V| www.激情五月| 亚洲色婷婷网站| 另类亚洲电影| 色色色综合| 六月婷婷狠狠做| 五月婷免费视频| 五月丁香啪啪网| www久久五月com| 五月综合人妻| 欧美丁香婷婷五月| 思思热视频在线观看| 97操在线视频| 黄色aa观看aaguochan| 99热这里只有精品1025| 成人性爱精品视频| 激情五月婷婷丁香六月| 五月丁香日逼| 天天插天天插| 婷婷亚洲影院| 五月色色激情网| 99爱爱| 婷婷五月天综合久久日美女| 99这里有精品视频| 99精品国产在热久久婷婷| 婷婷日在线观看| 教师性爱毛片| 五月婷婷婷| 99精品22| 欧美日韓成人亚洲精品另类| 久久电影4399| 久久九九亚洲| 日韩国产在线精品| www.91色| 久久久久久激情| 三级大香蕉网| sisi热国产| 欧美色偷拍| 五月天丁香| 超碰在线超碰| 婷婷五月天狠狠搞干| 99er这里只有精品视频| 五月婷啪啪| 色涩视频久久| 97在线观视频免费观看| 色婷网| 久久久久久久人妻| 色狠狠色噜噜AV天堂五区消防| 九九热视频精品2| 久99精品视频| 日本123区日韩欧美不卡在线看| 亚洲国产精品二二三三区| 91丨九色丨白浆秘| 久久最新色| 99热这里只有精品官网| 777精品成人a v久久| 久久九九99| 久久99精品日本| 影音 五月 婷婷 久久| 天天干天天干天天干天天干天| 五月天婷婷久久视频| 九九热这里只有国产精品| 色优久久| AV大香蕉| 色色色色热热| 99亚色色色| 99riAv1国产在线观看| 在线超碰精品| 九九99偷拍视频| 国产午夜精品一区二区三区四区| 99精品网| 人妻丰满精品一区二区A片| 任你草| 91成人电影| 开心激情网在线| 亚洲性爱日韩无码| 久久激情五月网| 亚洲九九在线| 五月丁香婷婷三级| 99热97| 婷婷色正月| 激情小说 五月天| 亚洲人妻一区二区| 97婷婷五月| 五月婷婷网站| 丁香六月情| 怡红院一二三| 91视频精品99| 久久99综合| 久热99| 色欲婷婷五月天| 粉嫩av蜜桃av蜜臀av| 91久久五月天| www.国产色| 夜夜操夜夜操| 97在线观视频免费观看| 人人操操97| 2005天天干天天1| www狠狠爱com| 色婷婷五月在线| 99热综合在线| 色婷婷视频| 超碰精品手机在线| 色五月丁香婷婷| 婷婷五月天福利| 67194中文字幕| 婷婷五月天激情小说| 九九色色网| 91碰碰碰| 色五月婷婷在线观看第一页舔| 久久久久久久久18久久| 偷拍91九色| www.97碰碰com| 久月婷婷| 五月婷婷开心六月激情小说| 色丁香五月| 综合狠狠干| 五月激情小说网| 99在线精品观看99| 欧美日韩国产一二区| 丁香五月婷婷激情中文| 色色丁香| 婷婷五月图片小说网| 国产毛片精品一区二区色欲黄A片| 婷婷激情人妻| 无码少妇高潮喷水A片免费| 一区二区无码视频| 色色五月婷| 久久狠色噜噜狠狠狠狠97| 天天色综合综合| 色播五月综合网| 日日夜夜狠狠| 男人天堂 久久| AV在线观看网站| 千人斩操逼| 婷婷婷婷婷开心无码播放| 久草视频一,二三四| 天天插天天干| www.97碰碰com| 五月激情丁香五月宗合| 伊人色综合久久久| 色青青电影色五月| 如何安全看伊人婷婷| 天天狠狠色| 五月天操逼网| 超碰2021| 人人干天天舔| 丁香色成人| 中国操逼99| 色女人久久| 五月丁香网中文字幕| 日本美女五月天| 成人精品一区日本无码网| 五月天丁香看婷婷| 丁香5月综合啪啪| 来吧亚洲综合网| 亚洲精品99| 黑人无码一区| 日韩色五月| 日本久久99| 草榴视频网| 久久996re热这里只有精品无码| 精品色色| 狠狠色噜噜狠狠亚洲A∨| 99开心五月五月丁香激情| 99热无码| 黄网在线免费| 色五月婷婷少妇人妻| 九九热视频在线观看| 超碰人妻公开在线| 日日干综合| 九九精品自拍| 久久久99日本大片| 亚洲久久激情| 综合久久五月| 欧美婷婷五月天综合| 丁香五月天啪啪| 一区二区三区四区牛| 国产视频久色| 99在线免费视频| 久久网日本| 婷婷五月六| 久久精品国产AV一区二区三区 | 婷婷五月天Av| 色色热| 91综合在线| 五月天婷婷綜合院| www.婷婷,com| 97色操| 九九九九无码| 五月丁香六月成人| 97在线日本| 天天xxxxxx天天日| 开心五月婷婷伊人| 色噜噜狠狠插综合| 99资源在线| 丁香五月天天高清在线| 丁香五月伊人| 五月丁香淫淫婷婷婷| 综合色图婷婷| 婷婷无码视频| 91亚洲视频| 欧美激情综合色综合| 久草热8精品视频在线观看 | 欧美在线| 九九视频热| 人与禽A片啪啪| 色婷婷五月基地在线| 色999;丁香五月| 99热91| √天堂资源在线人妻熟女| 99热资源在线| 无码激情| 777久久综合视频| 国产毛片欧美毛片久久久| 99 频99热国里只有精品| 99在线免费观看| 色婷婷狠狠干| 日逼AV影音先锋男人资源站| 第四色首页| 91久久九色| 婷婷色导航| 综合久久高清| 久久9视频| 欧美日韩大黄| 亚洲国产网址| 97热精品| 色五月丁香五月五月婷婷| 最近中文字幕在线中文视频| 婷婷五月天男人影院色色网| 日本毛片内射| 五月丁香天堂网| 99热香港| 欧美超碰亚洲| 99操99| 狠狠色丁婷婷日日,伊人激情综合网 | 五月天激情小说婷婷| 国外亚洲成AV人片在线观看| se99视频| 91久久婷婷| 91精品久久久久久综合五月天| 亚洲婷婷月丁香五月| 日本网站久久| 亚洲精品视频在线播放| 五月五丁香婷婷| 99热99思午夜精品| 亚洲国产精品VA在线看黑人| 天天夜夜爽| 99精品一二三四视频| 人人爽天天爽| 欧美va欧美va差| 超碰在线观看9| 六月丁香五月婷婷| 欧美综合激情丁香五月六月婷| 国产精品国产| 日日影院 | 荷兰av一级| 青草性爱视频| 在线观看亚洲AV| 久久丁香五月婷婷| 思思热在线精品视频| 就要爱综合| 天天插操| 日本婷婷| 九九这里是免费的视频5| 九月婷婷人人操人人舔人人爱| 伊人网啪啪| 五月天六月天| 亚洲熟女色| 91久久久久久久久久18| 色五月激情网| 婷婷激情五月色综合| 九九操操| 99碰在线视频| 亚洲在线免费成人| 五月婷激情| 国产26uuu| 操人妻90p| 婷婷丁香五月天熟女丝袜| 五月天激情小说| 五月天另类激情在线| 538久久| 91综合国免费久入| 丁香六月色| 狠狠操狠狠| 99热网址| 丁香五月成人av| 热这里只有精| w婷婷五月婷婷w| 久久丁香网| 丁香五月影院| 91操人| 十一月婷婷激情四射| 丁香六月婷婷综合网| 99热爱爱干干日| 丁香97综合| 久久人妻熟女一区二区| 人人操五月天| 久久久97| 五月天开心色情网| 激情性爱五月| 26uuu| 亚洲九九在线| 亚洲综合视频一下| 色。 婷婷婷| 国产亚洲色婷婷久久99精品91| 激情五月婷婷啪啪| 超碰在线94| 依人大香蕉在钱1| 三男玩一女三A片| 五月婷婷无码| 91狠狠综合久久久久久| 九月丁香亭亭| 午夜色婷婷| 五月丁香在线| 26uuu欧美| 婷婷五月丁香基地| 五月婷婷AV| 大陆肏屄视频| 天天色色天天| 五月亭亭性| 亚洲激情.com| 五月丁香六月婷婷操操操| 丁香欧美| 久久性爱视频这里只有精品| 婷婷五月天偷拍| 五月天另类小说久久小说网| 色五月丁香五月婷婷五月成人网| 丁香婷婷成人在线播放| 中文字幕色色| 狠狠干在线| 99热6这里只有精品| 日韩99精品| 丁香五月天AV| 天天拍天天操| 色婷天天| 开心激情婷婷| 99热这里有精品| 国产精产国品一二三在观看| 日本三级99人妇网站| 久月久在线视频| 久久婷婷五月天丁香| 天天肏视奸| 99色免费在线观看| 97人妻碰碰碰久久香蕉| 九色视频91| 色婷婷婷av| 色播五月丁香婷婷| 婷婷五月18永久免费视频| 亚洲va欧洲va国产va不卡| 久久99热在线观看| 久久久99视频| 97人人射| 色综合99色| 婷婷中文字幕在线| 六月丁香婷| 丁香五月婷婷呀| 亚洲综合狠狠艹| 婷婷狠狠操| 五月停亭六月,六月停亭的英语| 久久狠狠干| 777米奇影视第四色| 色欲AVV| 九九 激情 网| 五月丁香久久综合| 丁香久久久| 伊人网碰碰| 91超碰人人操| 亚洲天堂制| 中文资源在线a | 五月婷色色| 中文字幕无码人妻少妇免费视频| 国产操逼视频网站| 这里只有精品免费在线视频| 久热这里只有精品66| 亚洲天堂色色| 婷婷五月丁香五月| 亚洲av无码精品色午夜| 免费的日逼视频| 欧美成人网99网| 亚洲精品午夜国产va久久成人| 午夜无码熟熟妇丰满人妻| 丁香色影院| 色情性爱视频网址| 亚洲精品午夜国产va久久成人| 91ncom.色| 激情五月丁香五月色| 国产亚洲网站在线| 青青草婷婷综合五月| 丁香五月综合激情性爱| 性做爰A片免费视频A片直播| www.henhenl| 狠狠操.COM| 欧美久久网| 超碰成人黄色网| 97碰| 在线1青婷| 久久99热这里只频精品6学生| 亚洲激情Av| 五月天激情偷拍| 色婷婷六月| 久久在线视频免费观看| 99色网站| 丁香婷婷视频| 成人精品视频99在线观看免费| 色99婷婷五月天| 夜夜天天久久婷婷| 天天日夜夜拍| 六月丁香六月婷婷欧美| 国产精品五月天婷婷| 91热爆在线| 五月天婷婷香蕉狠狠超碰综合| 九九热手机在线视频| 狠狠狠狠狠狠狠狠| 99男人的天堂| 五月亭亭性| 色五月丁香com| 99热只有精品在线播放| 久久伦乱| 丁香婷婷午夜| 久久成人人妻| 琪琪色网在线| 婷婷丁香五月久久| av九九| 亚洲午夜av| 五月婷婷六月激情| 丁香六月青青草| 五月婷婷狠狠干| 国产欧美日韩综合精品一区二区| 丁香五月天在线观看视频| 噜噜色五月| 色色丁香色五月| 精品皮股午夜AV| 国产精品久久久久9999小说| 无码网| 九九热这里| 91色五月| 九月丁香| 色播丁香| 天天综合网站| 色五月开心婷婷| 色色色无码| 亚洲综合九九| 色五月婷婷丁香五月| 婷婷五月丁香综合激情| 久久与婷婷| 五月丁香久久呀| 这里有精品| 久久伊人9| 色久影院| 亚洲综合婷婷| 激情五月天婷婷五月天| 久久综合丁香五月| 天天日日夜夜| 激情婷婷综合| 久久色大香蕉| 夜丁香五月婷婷| 精品五月花| 色播五月婷婷五月| 亚洲在线视频321| 亚洲欧洲午夜成人精品av| 伊人9在线| aa久久| 99色色爰| A片试看120分钟做受视频红杏 | 99久.| 综合激情视频| 五月婷庭丁香在线| www。五月,com| 婷婷婷婷色| 97碰人人操| 丁香色色色| 色五月xxx| AV片一区在线观看| 婷婷五月婷| 玖玖99免费视频| 国产 码在线成人网站| 综合五月草| 精品久久久91久久影视网| 99综合激情久久精品久久| 欧美熟妇一区二区三区| 亚洲超碰在线| er99免费视频在线| 久久婷婷五月综合色天| 久久久WWW| 影音先锋女人av鲁色资源网小说免费 | 婷婷五月综合激情免费| 亚洲激情婷婷| 国产全是老熟女太爽了| 五月婷婷之综合激情| 天天操加勒比| 国产成人精品一区二区三区视频| 婷婷五月天成人小说| 婷婷色九月| 99精品偷自拍| 中文AV在线观看| 99热精品10| 丁香久久激情俄| 五月婷婷综合激情网| RenRenSe在线视频网站| 六月丁香婷婷色狠狠久久| 色色网站| 欧美日韩一区二区三区四区| 日本一级一级一级一级| 欧美久久九九| 五月婷婷基地| 丁香五月亚洲| 精品五月丁香| 视频1区2区| 欧美性猛交AAAA片黑人 | 青青草五月天| 深爱激情网婷婷| 狼人婷婷综合| 九色综合网| 久久久97| 嫩草乱码一区三区四区| 九九热视频首页/这里只有精品| 国产性爱色| wwwss在线观看| 国产精品美女| 中文字幕 久久9999| 91色综合| 日本在线wwww| 爽tv | 91狠狠色| 色色色图| 五月开心啪啪| 国产精品久久99| 视频久久9| 激情图片亚洲| 色情五月丁香| 99久在线精品| 天天操天天曰| 五月婷婷啪啪网| 六月丁香视频网站| 日本啪啪天堂| 丁香五月激情综合婷综| 狠狠婷婷日韩| 无遮挡国产高潮视频免费观看 | 久综合| 97人人操人| 亚洲色就是色色色| 五月丁香啪| 国产成人网| 亚洲综合另类| 天天天综合网| 成人丁香婷婷五月天| 日韩a热| 五月天丁香网| 婷婷激情在线| 六月丁香停| 五月婷中文娱乐综合| 婷婷大香焦| 国产AV一区二区三区最新精品| 思思re99视频在线观看| 成人在线不卡| 91九色熟女| 狠狠狠狠狠狠| 日日操夜夜爽| 五月丁香六月婷婷色日| www99热| 五月丁香婷婷三级| 综合五月天婷婷色| 一区二区三区四区无码| 99热这里只有精品69| 久久精品国产色| 99免费成人网| 婷婷欧美激情综合| 亚洲日韩国产黑丝黑丝AVAV一区二区三区| 91超碰在线播放| 丁香五月天.com| 婷婷五月18永久免费网站| 激情婷婷网| 4399欧美另类视频| 秋霞日本免费毛片A片| 99色在线观看视频| 99精品在线观看视频| 五月婷在线影院| 97碰| 九九日本视频| 热的国产,热的综合,热的有码| 色婷婷成人丁香| 天天爽天天弄| 天天综合亚洲综合| 日韩在线五月天婷婷| 亚洲欧美国产高清vA在线播放| 色情五月停停丁香| 五月天综合色| 亚洲最大在线| 亚洲激情久久| 国产精品久久久久久喷浆| 亚洲春色奇米影视| 色综合色综合色综合| 丁香玖玖视频大全| 337p大胆噜噜噜噜噜91Av| site:hcxsz888.com| 99re热| 欧美亚洲婷婷五月| 天天日天天草| 超碰人人操在线| 丁香六月婷| 亚洲成人无码专区| 丁香综合久久| 97热视频| 678五月丁香亚洲综合| 婷婷五月天资源| 天天人人人人人人人人人人人| 五月天激情图片| 中文字幕在线观看视频www| 五月色情| www91久久| 色狠狠五月天| 五月天激情网页| 天天爽天天| 99热99在线| 亚洲正能量欧美| 六月婷婷综合激情| 国产精品噜噜在线视频| 日本VA视频| 亚洲永久四色| 亚洲字幕AV一区二区三区四区| wwww.色婷婷| 六月99天天婷婷激情综合| 婷五月天在线草| 五月婷亚洲精品| 99热在这里只有精品| 国产成人综合电影| 在线你懂的亚洲欧| 日本特黄aaaaa| 久热这里| 蜜臀AV在线观看| 日韩在线成人电影| 国产色色网站网址| 婷婷五月天久久| 99色在线视频| 停停五月色宗合| 五月婷婷六月丁香综合视频在线| 99这里只有精品|v| 狠狠色丁香| 碰碰操91| 第四色婷婷色五月| 色五月天丁香| 五月丁香久久激情综合| aaaaa黄色| 色中色综合| 99精品无码| 骚五月婷婷| 五月天色婷婷图片| 午夜一区| 色婷婷五月天无码视频| 激情99。| 黄网免费看| 丁香五月婷婷香| 色噜噜伊人| 伊人网碰碰| 就爱日五月天| 电影爱拉战争免费观看| 91九色中文字幕女在线观看| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 日韩色色视频| 狠狠se| 99热这里只有的精品视| 亚洲欧美婷婷五月色综合| 97操碰在线视频| 这里只有精品在线免费视频| 性一交一乱一交A片久久四色| 天堂色色色| 五月天社区狠狠| 免费看欧美成人A片无码| 亚洲愉拍99热成人精品| 婷婷五月天色播| av在线婷婷| 婷婷五月天改成什么了| 九九热中文| 94干大香蕉| 六月天丁婷婷| 亚洲国产精品VA在线看黑人| 久久综合激情| 亚洲情色一区| 伊人婷婷91| 九九这里都是精品| 噢美99| 婷婷六月开心网| 亚洲色热| 六月激情婷婷| 99在线免费视频| 丁香五月123| 亚洲五月花| 中文AⅤ大全| 激情五月com| 色欲一区二区三区精品A片| 六月婷婷深深爱| 26UUU欧美| 日韩成人无码人妻| 精品成人在线观看| 久久人人九| 激情综合五月婷婷丁香| 中文字幕性爱视频| 97色色综合| 久热久re| 欧美日本另类| 激情婷婷九月| 婷婷五月花| 99热费观看| 91凹凸在线| 9福利性视频欧美| 久色激情| 91ncom.色| 亚洲热久久| 久去色色| 99成人| 第六色在线| 大香蕉久久视频久久视频 | 久久婷婷成人视频| 97福利视频| www.狠狠狠.com| 日韩在线观看网址| 婷婷情色激情| 中文字幕婷婷在线| 日本女人久久| 五月婷婷色色色| 狠狠操天天干| 婷婷激情蜜桃玖玖丁香| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 成人在线综合| 五月丁香大香蕉| 激情综合自拍五月婷婷色五月| 99亚洲天堂| 囯产精品一品二区三区| αV电影| 久久久久人妻| 婷婷五月天色色| 丁香五月偷拍| 五月婷婷色吧!| 另类国产欧美视频| 久久看婷婷| 婷婷丁香射射| 国产亚洲精品久久久久久久久动漫| 丁香五月激情澎湃一区| 青草青草久9视频在线视频| 色九月婷婷丁香| 99色综合网| 综合色、色综合| 婷婷丁香五月网| 人人爱操| 婷婷婷狠狠| 亚洲色热| 思思视频久久| 男人的天堂婷婷色五月| 五月天激情图片| aⅤ79成人片| 日本人人超碰| 91大屁股精品| 五月丁香婷婷无码中文| 九九爱激情| 国产激情在线| 五月天无码视屏播放| 玖玖@三月天天丁香婷婷| 五月综合丁香婷婷| 婷婷六月激情啪啪| 激情综合在线播放| 色婷婷丁香五月| 色色哒五月婷婷六月丁香| 久久永久视频| 1024操逼| 97碰碰视频在线观看| 操逼福利视频| 五月丁香色婷婷久久| 丰满老熟妇BBBBB搡BBB| 26uuu国产| 夜夜骑日日操| 日韩色色一区| 欧美搡BBBBB摔BBBBB| 婷婷成人五月天成人文学| 激情美女五月天| 激情久久月| 99精彩视频| 少妇搡BBBB搡BBB搡毛茸茸 | 无码中文一区二区三区| 九九亚洲无码| 免费超碰在线观看| 亚洲av网站| 五月综合色播播丁香婷婷| 丁香色婷婷| 美女xx不卡| 成人无码髙潮喷水A片| 九九热精品在线| 丁香五月AV综合激情| 大香蕉99热| 九一娱乐在线观看视频| 久久婷色| 婷婷激情五月综合| 五月天·www·com| 国产激情av| 99久久婷婷综合| 六月婷婷激情| 91婷婷丁香| 国产欧洲欧洲精品久久| 激情WWW| 色噜噜狠狠色综| 4399伦理午夜| 99在线看视频| 婷色五月天| 99re热在线视频| 天天骑天天操| 俺去也在线视频| 玖玖99福利| 色五月色五天色情网| 日本人妻操| 五月丁小婷婷激情四射| 久久五月婷| 中文字幕视频在线播放| 色婷婷丁香五月在线观看| 狠狠色丁香婷婷综合久久97AV| 操91| 影音先锋一区| 九九综合网色全集| 婷婷丁香黄色| 射满了还射免费在线观看 -午夜版全集-新视觉影院 | 色婷婷操逼网| 婷婷五月丁香性爱| 日本女色人人| 亚洲亚洲人成综合网络| 久久婷婷视频| 超碰免费人人| 五月丁香精品| 人妻视频在线| 天天干天天拍| 久久久久人妻精品| 深爱五月激情| 五月天六月婷| 欧美啄木乌丝袜人妻系列| 97婷婷丁香五月| 色亭亭五月天网扯| 亭亭丁香久久五月| 人妻射精AV| 色色无码日韩| 五月色婷婷综合色| 热的五码久久精品| 久久只有精| 亚洲精品色色| 亚洲视99| 成年AAAA色情| 天天草天天爱| 婷婷丁香成人在线视频| 国产色婷婷亚洲| 婷婷丁香五月天综合网| 激情婷婷综合| 中文无码精品一区二区三区| 少妇婷婷五月天| 99热这里只有精品一| 五月婷在线色视频| 蜜臀嫩草| 婷婷色基地| 79精品视频在线观看,| 91精品久久久久、久五月天| 99热这里只有精品8| 99热只有| 久久婷婷综合网| 丁香午夜天| 色色丁香| 久久久久久久11111111111| 97色射| 奇米四色五月天| 伊人九九热| 日本精品99网站| 婷婷五月在线免费| 月婷婷亚洲| 99在线视频精品| 丁香五月无码| 婷婷成人五月天成人文学| 日本一级| 99热这里是精品| 男人操女人高潮91视频| 久久丁香婷| 色色色五月婷| 99精品热视频只有精品10| 五月丁香六月色情网欧美| 欧美久久婷婷| 夜色综合网| 五月激情影院| 色九九综合色| 五月丁香婷婷啪啪综合| 激情综合久久| www.夜夜夜| 亚洲欧美国产高清vA在线播放| 色婷婷先锋| 五月天成人免费视频| 懂色av粉嫩av蜜臀av| 97婷婷五月激情六月丁香伊人| 99 re视频一区| WWW.五月天9999| 人人人舔人人人操人人人摸人人人97| 激情综合五月开心狠狠| 久热无码| 99久久超级| 五月天激情久久| 五月婷婷开心色伊人| 亚洲综合激情五月| 99热伊人| 影音 五月 婷婷 久久| 天堂综合久| 九九热再线九九视频免费在线观看 | 色视频五月天| 色爱亚洲| 九九色插| 久热久| 综合激情深爱| 色综合色色| 婷久久高清| 五月香婷婷| 激情五月天激情综合网| 国产激情久久久| 久久国产成人9999久久久久| 亚洲激情婷婷| 色婷婷五月天小说网| 综合一区二区三区| 国产一区二区av免费| 久9无码视频| 情情五月天色| 婷婷午夜丁香| 天堂久久久久天堂网| 伊人久久五月天| http://www.sd-xiangsu.com/| 色婷婷丁香五月| 色婷婷亚洲综合av| 99精品视频在线免费观看| 婷婷五月天国产| 亚洲欧洲中文日韩久久AV乱码| 五月停停999| 婷婷开心激情综合五月天| 五月天大香蕉| 成人 九九九九| 天天插天天草人人玩| 996热re视频精品视频| 男女激情久久| 思思99精品视频在线观看| 激情综合色婷婷啪啪六月天| 日日噜噜夜夜狠狠久久丁香五月| 丁香激情网| 色婷婷视频在线| 国产午夜精品一区二区三区嫩草| 久综合| 亚洲成人婷婷| 91se视频| 天天舔夜夜操www com| 97性视频| 婷婷香蕉视频| 五月天色导航| 久久久久人妻| 亚洲av综合网| 婷婷激情图片| 丁香五月婷婷影视先锋| 日本在线免费中文com.| 色婷婷电影网| 久久超级碰视频| 五月婷婷五月天亚洲无码| 五月天色综合| 亲子乱AV一区二区三区下载| 国产成人亚洲综合A∨婷婷| 91精品激情9| 成人久久天天x资源站| 婷婷五月天色色| 久久婷婷五月综合啪| 五月第四色| 日日操夜夜操不卡| 免费久久这里只有精品99| 五月天激情视频| √天堂资源在线人妻熟女| 五月婷婷视频| 五月天伊人久久| 丁香六月激情综合啪啪| 色综啪啪网| 午夜不卡成人一区二区| 国内外色色色色色成人视频| 婷婷色网| 丁香婷婷色五月| 久久9视频欧美| 91成人视频| 欧美日本黄色| 九九re精品视频在线观看| 国产操肏网站| 五月丁香色婷婷| 婷婷丁香91| 狠狠干五月天| 丁乡久久| 超碰在线超碰| 98色花堂98t.R| 成人电影在线免费试看| 五月 激情视频| 婷婷午夜精品久久久| 91婷色| 色婷婷在线播放| 综合色99| 天天操婷婷| 激情五月天啪啪视频| 久久婷婷五月天| 六月伊人婷婷| 超碰只有精品在线| 就爱射中文字幕资源网| 丝雨一区二区| 天天操天天曰| 啪啪黄页网| 夜夜 操无码| 五月丁香大香蕉| www.夜夜| 伊人六月无码视频| 婷婷色色综合| 天天天操天天天日| 九草性爱| 97色片| www,8050,午夜三级| 专区无日本视频高清8| 亚洲国产精品成人va在线观看| 久热大香蕉| 一级性爱视频| 九月丁香| 超碰碰碰碰| 久久成人精品视频| 31色区视频免费看| 婷婷激情六月| 色播婷婷大香蕉| 97操操| 色婷婷香蕉丁丁网| 亚洲AV永久无码影院黑人 | 天天日日| 丁香五月婷婷AV在线| 噜噜干日本| 国外亚洲成AV人片在线观看| 精品免费99| 91人人澡人人爽人人看| 色99色| 久久这里99| 五月丁香综合影院| 99视频久久| 狠狠久综合| 五月天天综合| 色五月综合网| 婷婷五月天激情综合深爱激情| 99re热在线观看| 狠狠操狠狠爱| 久久人妻视步| 色欲色天天香综合| 最近免费中文字幕大全高清大全1| 欧美爆乳一区二区三区| 亚洲午夜电影| 国产精品人人做人人爽人人添| www.亭亭五月天| 国产精品人妻欲求不满| 性生生活大片又黄又| 五月婷丁香| 99热国内| 丁香花成人区| www.99视频| 野战毛片三一3| 五月婷六月综合在线观看| 中文字幕高清av| 丁香婷婷深情五月亚洲| 天天摸夜夜夜| 丁香五月性| 丁香五月亚洲综合| 亚洲六月色| 五月天综合婷婷| 婷婷免费精品视频| 欧美色色日韩|