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
返回資訊列表
天天爽天天草| 婷婷五月天激情文学小说| 成人丁香五月婷| www.婷婷,com| 婷婷六月网| 欧美Va在线| 久久ab| 五月天色婷婷网| 激情都市丁香婷婷| 色色五月婷| 欧美激情综合| 亚洲最大视频网站| 丁香婷婷六月激情文学 | 新激情综合| 婷婷无码视频| 久热这里只有精品在线| 激情五月丁香五月| 日本熟妇乱妇熟色A片蜜桃 | 99久视频| 激情丁香久久| 99色这里| 色婷婷五月综合| 色婷婷小说| seav天堂| 色婷婷五月影视| 69er小视频| 色综合久久久久久久久五月| 丁香色综合| 午夜丁香综合婷婷| 碰99在线| 久色视频在线| 99热大片| 色噜噜狠狠色综无码久久合欧美| 性做爰1一7伦| 亚洲激情综| 大香蕉啪啪网| 五月婷婷婷丁香播| 无码成人播放器| 夜色综合网| 激情播丁香| 丁香五月婷婷五月天| 婷婷激情综合| 亚洲啪啪自拍| 五月婷人妻| 丁香婷五月天开心六月| 五月停停大香蕉| 97超碰人人操| 人妻无码精品一区| 久久小说网| 色婷婷a| 丁香五月98| 激情五月天婷婷丁香| 丁香婷婷婷五月| 狠狠色婷婷7777久| 婷婷九月丁香天堂丁香天堂| 午夜电影网VA内射| 少妇做爰免费视看片| 激情av在线| 婷婷基地五月色| 九九婷婷综合| 我想看国产大学生口爆吞精的视频| 99惹在线精品免费观看| 大香蕉久久久久| 丰满少妇乱A片无码| 黄色片区子| 日韩十国产极品久久| 99久久综合| 激情婷婷五月丁香啪啪啪| 日欧一片内射VA在线影院| 九九精品少妇| 欧美啄木乌丝袜人妻系列| 久99久精品视频| 草草色情综合网| 99国产er热视频| 日韩aaaaa| 91中文狠狠综合| 婷婷九月色| 最新激情五月天| 激情文学久久| 婷婷久久五月丁香| 99视频精品全部观看10| 婷婷激情五月天桃花网| 亚洲综合色丁香婷婷六月| 99热啪啪| 99ri在线观看视频| www.色婷婷。com| 啪啪91| 五月天综合久久丁香91| 婷婷五月天在线观看| 婷婷五月丁香亚洲| 99热这里只是精品| 在线视频区| 亚洲激情 久久| 中文久久婷婷| 久久婷婷国产| 婷婷综合激情| 久久99网站| 激情亚洲婷婷| 国内一级精品| 色婷婷免费观看| 丁香五月婷婷99| w婷婷五月婷婷w| 国产这里只有精品| 9久久久久| 丁香五月中文字幕久色| 中文字幕综合色| 九九热在线视频,| 荡乳尤物3HP1V5| 色五月丁香五月五月婷婷| 色婷婷小说| 殴美日比视频| 少妇综合网| 九九Av| 99ri视频| 熟女乱论网| 色色网站| site:esunnet.com| 色综合激情图区| 插插插丁香五月婷婷| 免费观看的av| 西瓜美女a片| 婷婷色播婷婷| 亚洲精品乱码久久久久99| 五月天激情网图片| 色欲香综合网| 超碰成人影视| 激情综合五月婷婷| 操碰99| 久热超碰| 九九九午夜影院成人| 亚洲亚洲人成综合网络| www.五月婷婷久久.com| 青青草网武则天| 婷婷五月天成人网| 丁香五月色情| 亚洲精品无人区| 思思热再线视频| 色伦专区97中文字幕| 激情五月六月丁香| 大香蕉在九| 战争与艾拉电影免费观看| 欧美日韩婷婷五月天| 色色网站免费观看| 99热久97| 97人妻碰碰中文无码久热丝袜| 丁香五月婷婷丫| 日本三级韩三级99久久| 五月色俺婷婷| 五月丁香婷婷婷激情爱爱| 久久久久久久久99精品| 亚洲婷婷五月天综合| 五月婷色| 激情www| 激情婷婷在线中文字幕| 精品国产AV色一区二区深夜久久| 五月婷在线视频免费看| 色婷婷狠狠18禁| 婷婷色综合| 丁香激情婷婷网| 五月五月婷婷| 亚洲五月婷婷| 亚洲色欲AAAAAA| 五月丁香婷婷色播无码| 六月丁丁香| 啪啪啪大香蕉| 婷婷日韩| 伊人激情综合网| 丁香五月aV| 91操在线| 欧美搡BBBBB摔BBBBB| 天天干com| 玖色色综合| 九九热黄色| 色色色在线免费视频| 波多婷婷久久| 久久这里有精品| 区区欧美你爱| 欧美噜噜噜草| 九九九干精品| 丁香五月五月婷婷| 影音先锋人妻出差| 任你艹| 5月丁香美女影院| 97干在线播放| 五月天婷网| 久99久精品视频| 国产SUV精品一区二区6| 快色t v在线入口| 五夜丁香| 中文字幕中文有码在线| 狠狠狠狠狠干| 26UUU精品一区二区c〇m| 综合网狠狠| 99久久婷婷国产综合| 久久亚洲激情五码| 情欲综合网| 激情四射婷婷色色色| 北京熟妇搡BBBB搡BBBB| 九热免费视频| 丁香五月婷综合网| 六月香五月婷| 9999久久久久| 狠狠色噜噜狠狠狠777奇米| 五月丁香激情综合啪啪| 色播婷婷五月天| 色综合激情| 人人操人人妻| 麻豆AV一区二区三区| 色丁香影院| 激情综合啪啪啪| 性色做爰片在线观看WW| 色播五月网| 99热在线只有精品| 亚洲va日| 7777激情基地| 97干综合网| 国产精品第一国产精品| 色婷婷丁香五月| 激情五月开心五月丁香五月| 久久99色色| 2015好吊操| 激情婷婷九月| 天堂va久久久噜噜噜久久Va| 色噜噜五月天| 五月天激情久久| 伊人婷婷激情| 免费婷婷| 亚洲午夜Av| 婷婷久综合| 综合五月婷婷| 激情综合网五月天| 丁香婷婷婷五月| 五月丁香久久久日婷婷久久婷婷日| 99色视频在线观看最新| 天啪色| 五月天婷婷成人网| 久久久com| 天天色天天色天天色天天色天天色| 噜噜色五月| AV在线观看网站| 丁香伊人五月色婷婷五十路| 嘿嘿视频免费看9| 色五月激情婷婷| www.色色色色| 九九精品在线观看视频6| 激情综合五月.....| 91操人视频| 丁香婷婷综合激情五月色| 五他月天啪啪啪| WWW免费视频碰碰碰碰| WWW,五月| 啪啪小说五月天| 五月丁香久久呀| 婷婷久久久久久久| 激情五月天激情网| 亚洲天堂亚洲色色色| 色五月婷婷大香蕉| 丁香婷婷色九月| 色五月97| 九九精品热播| 亚洲五月激情| 五月婷婷六月丁香玖玖玫瑰91| 五月婷丁香久久综合| 99cao婷婷| 激情五月丁香五月色| 欧美经典片免费观看大全| 狠狠插狠狠插| 亚洲精品99| 激情图片婷婷| 久热婷婷| 91超级碰| 黄色国久久| 国产精产国品一二三在观看| 婷婷五月丁香激情| 香蕉色色网| 九九av| 国产成人网| 成人精品在线| 乱精品一区字幕二区| 九九成人| 久久精品熟女亚洲AV麻豆| 99精品在线观看| 婷婷97狠狠成人网站| 亚洲啪啪视频| 伊人激情影院| 在线不卡视频| AV成人在线网站| 牛牛澡牛牛爽| 激情五月婷婷啪啪| 婷婷免费无马| 激情综合4月| 天天日人人| 热99久久这里只有精品| 99操逼| www.av骚货| 色久天| 9l视频自拍九色9l视频自拍九色9l社区| 噜噜五月天综合| 狠狠色综合网站久久久久| 婷婷色在线播放| 婷婷黄色| 色五月开心五月激情五月| 五月婷婷免费| 五月丁香影院| 天天日天天插| 91丨九色丨老熟女激情| 亚洲av午夜精品一区二区| 嫩草视频观看| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 五月天亭亭俺也| 97干视频在线| 五月天啪啪视频| 91九九| 色综合久久之分久久| 丁香五月综合婷婷| 天天色情站| 丁香婷婷影院| 日韩综合网络男女香蕉a片| 91干视频| 亚洲精品五十一区| 日屌日日操日日色| 97色干| 色婷婷成人做爰A片免费看网站| 狠狠色噜噜狠| 亚洲婷婷91丁香| 五月天激情站| 五月色欧洲| 99国产视频网| 五月婷婷激情| 亚洲综合视频八| 五月婷在线影院| 色色丁香| 玖玖资源站中文| 久久9久| 精品亚洲国产成AV人片传媒| 婷婷五月色| 七月丁香婷婷 色色| 熟女人妻一区二区三区免费看| 黄色av网站在线免费播放| 五月丁香久久呀| 一根材五月婷成人| 91九色视频在线观看| 亚洲精品无码久久| 免费观看全黄做爰的视频| 热久69| 热热久久精品视频| 激情人妻综合| 综合欧美五月婷婷| 91综合色| 色丁香五月婷婷在线| 亚洲精品影视| 久久久久五月丁香| 91精品熟女| 婷婷五月激情视频在线| 日日夜夜干| 天堂爱啪啪| 色五月丁香激情| 五月丁香六月激情综合| 成人国产网| 日本老女人黄页在线播放| 26uuuavcom| 久久婷婷国产| WWW.五月com| www.激情五月天。com| 丁香六月婷婷综合在线| 五月天另类激情在线| 热久久99热欧美国产亚洲| 婷婷天天五月天| 天天摸.天天mo| 丁香婷婷月| 久久综合九九| www狠狠com| 日逼免费视频 | 六月婷欧美丁香综合| 五月丁香| 99玖玖免费视频| 五月激情综合婷婷| 五月丁香六月婷婷免费| 99色性爰网络| 色色影院黄大片| 五月天激情婷婷五月天久久| 五月综合久久| 丁香五月婷婷欧美激情-中文天堂最新版在线观看 | 成人在线观看一区| 激情播丁香| 97综合在线| 9色免费网| 成人狠狠成人狠狠成人狠狠成人狠狠 | 看片视频在线免费日产在线看| 大香蕉220| 婷婷和五月天| www.激情| 午夜日日| 婷婷五月丁香五月综合网| 九九热青草| 欧美噜噜噜草| 婷婷婷久久久| 综合久久十| 婷婷五月天丁香| 久操97| 日噜噜色| 久久人妻视步| AA片在线观看视频在线播放| tingting五月天亚洲| 亚洲第一成人无码A片| 中文字幕久久婷九女同| 婷婷五月天激情综合深爱| 五月天偷拍| 曰曰久久| 五月丁香六月香香蕉| 婷婷刺激综合| 五月天激情综合| 91干在线视频| 色婷婷亚洲五月天| 国产色99| 五月天婷婷色色网| 9超碰在线| 五月丁香综合在线| 天堂综合久久| 激情床戏| 婷婷久久网| 婷婷激情人妻| 情色五月天网站| 天天爽天天摸人妻综合网| 人碰人人人玩91| 婷婷五月天亚洲精品| 国产精品久久久久久亚洲毛片| 欧美丁香婷婷天天操| 丁香五月天激情视频| 五月综合丁香婷婷| 久久久久人妻网址| 色婷婷很很十八禁| 久久这里只| 国产探花一片区| 色视频五月天| 色婷婷久久视屏| 狠狠狠色激情综合适合| pom538精品视频| 久久狠狠干| 丁香五月婷婷老师网站| 天天爱天天吃狠天天透| 国内一级精品| 五月丁香五月综合欧美| 亚洲色婷婷激情| 色五月丁香五月| 99热精品少| 国产精品涩涩涩视频网站| 爱草视频在线观看| 老美AA片| 狠狠草狠狠草| 天堂爱啪啪| 五月丁香性爱| 这里只有精品,日韩视频| 国产做A爰片毛片A片美国| 噜噜噜噜在线| 停停综合色色| 热99在线| 丁香婷五月| 久久久久久婷| 99精品一二三四视频| 色五月天丁香| 欧美性生交XXXXX无码小说| 五月天五月婷五月激情网| 99在线看片| 五月天婷婷影院| 色婷婷在线视频观看| 五月天综合在线观看视频| 91精品无码久久久久久五月天| 色狠狠色| 激情五月婷婷啪啪| 热久久色| 九九色色| 亚洲丁香五月深爱五月| 精品影院| www.人人操人人看人人想人人摸 人人人人操,COM | 少妇熟女视频一区二区三区| 操操操AV| 五月色情婷婷| 欧美色宗和激情| 99热18| 久久久久久人妻| 五月六月丁香激情视频| 99视频啪啪| 91久久1118| 啄木鸟黑丝一区二区| 国产黄色在线| 欧美丁香五月97色| 天天久久综合| 91丨九色丨熟女|老版| 婷婷五月综合在线| 丁婷婷五月天在线播放| 五月天婷综合网站| 丁香五月黄色| 天天操夜夜操| 99爱爱网| 五月婷婷免费在线观看| 久热AA| 成人精品视频99在线观看免费| 亚州操操| 97久久综合网| 丁香五月欧美色综合| 国产亚洲色婷婷99精品| 亚洲欧洲一二| 丁香五月婷婷基地| 亚洲熟妇无码乱子AV电影| peg 2区三区四区的| 六月丁香啪| 久热这里只有| 日日撸夜夜操| 午夜爱爱爱成人| 亚洲av电影在线| www,天天干| 色综合色综合色综合| 久久天天天| 丁香五月 无码| 狠狠干综合| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 九月激情网| 人人做天天爱| 婷婷亚洲五| 综合色婷婷| 青青草免费公开视频| 丁香六月狠狠干| 五月天五月婷五月激情网| 五月丁香另类图片| 99 福利 导航| 五月婷婷 激情按摩| 色99色| 插插干干干色| 91狠狠色丁香婷婷综合久久| 99re久热| 射婷婷中文字幕| av大香蕉| AV色婷婷| 日日操,天天操| 97亚洲色 torrent magnet| 综合九九中文字幕| 九九爱精品网站| 99激情| 九九AV在线| 久久婷婷亚洲五月天| 如何安全看伊人婷婷| av第一二区| 97日本在线播放| www色婷婷| 97人人操人人| 噜噜狠狠色综合久| Www.婷婷五月| 五月婷婷co.m| 六月丁香激情综合网| 97电影99热| 97sese婷婷| 风流少妇A片一区二区蜜桃| 大香蕉人妻| 六月婷婷视频| 99精品视频免费观看| \\五月天婷婷激情| 久热这里只有精品在线观看 | 激情五月天激情小说| 色五月婷婷丁香婷婷| 婷婷激情五月天7| 欧美精品999| 91ncm视频| 婷婷99丁香| 97热超碰| 国产中文字幕在线视频免费观看| 五月婷狠狠| 五月成人丁香av91| 五月婷婷视频| 婷婷五月天天| 丁香花社区av| 久久九九99视频| 大香蕉AV在线| 丁香五月成人| 丁香激情网| 婷婷精品视频| 极品人妻VIDEOSSS人妻| 久久小视频| 婷婷色五月激情| 深爱激情综合| 国产成人网站在线观看| 三级三久久线久久99久目本WW| 99热精品在线播放| 天堂久久婷婷| 六月激情婷婷| 婷婷天天日婷婷| 五月丁香色婷婷| 亚洲最大视频| 久久精品只有这| 这里只有精品免费视频| 日本婷婷| 色爱亚洲| 丁香六月无码播放| 九九热在线视频观看| 色五月天成人| 99riAv1国产在线观看| 国产9色在线/日韩| 成人丁香五月天| 丁香成人五月天| 97色色色色色| 欧美激情五月天| 97精品人人A片免费看| 五月丁香啪啪网| www久| 成人视频网| 亚洲偷| 欧美一黄一色一乱一伦| 日本天堂免费99| 五月婷婷中文字幕| 色色热99| 五月天婷婷丁香视频| 色综合日日| 久久婷婷五月免费视频| 亚洲午夜视频| 亚洲午夜av| 欧美情色一区| av在线资源| 天天射影院| 嫩草极品| 六月丁香婷婷大香蕉| 91九色在线观看免费| 色九亚洲| 夜夜操夜夜爽| 99热这里只有精品官网| 天天干天天操天天拍| 日本婷久久| 大香蕉520| 秋霞AV吧| 超碰人人91| 亚洲综合网 665566| 日韩 欧美 国产 一区 二区| 久热视频这里只有精品68| 亚洲狠狠干| 另类图片色五月| 五月开心激情| 久久综合66| 日本一级一片免费视频| 五月丁香好婷婷姑娘综合网| 一起草性爱不卡视频| 99热这里只有精品1025| 香蕉AV777XXX色综合一区| 大香蕉天堂色| 久久99久久99久久99人受| 精品九九视频| 久久人人九| 丁香五月天激情综合| AV网在线| 五月丁香成人| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 爆乳熟妇一区二区三区爆乳照片| 激情小说五月天中文字幕| 五月婷婷香| 天天插综合网| 夜夜AVV| 欧美日韩一a.无| 天天色天天色天天色天天色天天色| 大香蕉中文| .精品久久久麻豆国产精品| 色情五月天导航| 无码九九| 开心激情综合| 欧美丰满熟妇BBB久久久| 欧美婷婷丁香五月| 国语对白性爱视频播放| 婷婷五月天六月丁香| 色五月av| www综合久久| 五月婷婷综合激情| 五月婷婷色综图片| 69天堂99| 亚洲五月天第一综合干| 激情五月天社区| 777精品久无码人妻蜜桃| 高清国产AV| 狠狠色性| 99综合网| 亚洲操女| 五月婷婷六月丁| 六月丁香网| 日韩黄在免| 国产精品电影| 99精品综合| 99燥99日| 天天插天天狠| 啪啪色区| 色综合99色| 日本美女天天日天天爽| 色婷婷欧美| 六月婷婷日| 五月丁香少妇A| 黄色片区子| 亚洲视频在线网| 五月综合777| 人人摸人人搞| 亚州操逼网| wwwwww.色| 欧美精品XXXXBBBB| 99小视频| 97干免费视频| 婷婷五月天毛片| 思思综合热| 色色色999| 五月婷网| 另类 在线| 伊人成综合五月婷婷| 丁香六月视频| 一级黄色影片| 婷婷97碰碰| 婷婷五月天电影网| 九九久久色| 天天操天天操天天操| 天天色天天| 狠狠爱综合| 色五月婷婷操逼| 久久婷婷六月综合综合| 婷婷五月深深爱| 国产69精品久久久久999小说| 婷婷丁香社区网| 人人操人人干AV| 久操人| 五月丁香婷婷六月天| 9色在线| 26uuu欧美日韩| 97在线精品| 丁香五月网址| 天天操加勒比| 九九re精品视频在线观看| 这里只有精彩视频| 日日噜噜久久婷婷五月天| 五月四色色| 国产精产国品一二三在观看| 五月丁香天天| 精品国产乱码久久久久夜深人妻| 亚洲九九免费| 精品一二三区久久AAA片| 天天做天天爱天天摸| 色综合久久88色综合天天99| 97色热| 婷婷综合97| 欧美啪啪9| 99九无网码| 99在线观看精品| 综合久久综合久久| 99热日韩| 开心激情网五月天| 婷婷五月黄色激情在线| 337p大胆噜噜噜噜噜91Av| 亚洲va日| 亚洲亚洲人成综合网络| 人人干天天操五月丁香| 免费三级黄色| 性天天中文网| 日韩一级| 第五色色色婷婷| 《久久综合九色综合97婷婷| 香蕉视频91| 中文无码婷婷| 天天爽天天操| 丁香成人综合| 久综合4| 青草少妇激情| 婷婷久久婷婷| 久久人人超| 亚洲精品视频在线| 婷婷久久五月天| 五月婷婷在线视频免费观看| 国产婷婷色综合AV蜜臀AV| 欧美婷| 色婷婷四虎| 99成人| 玖玖五月丁香| 在线不卡视频| 亚洲激情网站无码| 性爱激情五月| 色播播五月| 丁香六月啪啪啪| 婷婷视频网| 婷婷成人小说综合| 成人短视频免费观看| 亚洲国产成人在线| 久久综合网免费视频| 色综合激情图区| 激情婷婷六月天| 亚洲精品99| 99在线精品免费视频| 色五月丁香五月婷婷五月成人网 | 久热这里只有精品99re | 婷婷丁香18| 狠狠的日| 99热只有精品在线播放| 激情五月天天| 日日夜夜久| 欧美在线97| 婷婷久久综合| 婷婷五月天激情诱惑| 亚洲色婷婷五月天| 婷婷色五月丁香六月欧美啪| 婷婷六月久久| av成人在线播放| 九九AV在线| 婷婷伊人激情婷婷| 99热在线看| 色综合色色| 色播五月天天| 97操碰98| 人妻视频在线| 五月天色官网| 六月婷婷激情| 久久婷婷五月综合色播| 日韩综合久| 99精品在线| 99无吗| 大香蕉99| 成人综合网站| 99热亚洲| 南京搡BBBB搡BBBB| 激情综合色婷婷啪啪六月天| 成人片在线播放| 亚洲性色XXXXX| 婷婷中文无码| 99ri网站在线观看| 欧美五月婷婷| aa久久| 色五月情| 九九re精品视频在线观看| 91操操操| 久久久久久激情| 日本久久久97| 欧美久久网| 热久久66| 啊V视频在线观看| 久久六月婷婷| AV操操操| 五月婷视频| wWw色五月| 九九综合网色全集 | www99热| 色婷婷中文字母五月丁香| 在线综合91| 天天干天天干天天| 超碰91人人操| 丁香五月六月激情久久| 亚洲性受XXXX五月丁香| 亚洲AV日韩在线观看| 丁香色婷婷| 99久久网站| 婷婷八月丁香激情综合| av网站中文| 《战争与艾拉》完整版| 97碰在线视频| 日亚二欧美| 涩涩激情五月婷婷| 日比网免费国产| 久久98| 九九色热| 91九色丨国产丨爆乳| 综合在线色婷婷| 激情校园 亚洲| 欧美性二区| 99热99| 91呦呦呦| 中国女人内射6XXXXX| 色吧五月婷婷| 91大屁股精品| 超碰熟女拍拍| 亚洲激情图文小说| 夜夜躁婷婷AV| 丁香婷婷老司机久操| 麻豆AV一区二区三区| 狠狠做婷婷| 中文字幕人妻在线| 毛片新网地| 99热国内| 日本精品在线噜噜噜| 成人VAV视频在线观看| 婷婷丁香无码专区| 粉嫩AV久久一区二区三区| 六月丁香啪啪| 操操国产| 婷婷久久精品| 俺去也五月| 五月丁香无码视频| 九玖欧洲亚洲| 欧美综合丁香网| 久久99激情| 另类视频在线| 亚洲成人AV在线观看| 日韩无码系列| 大香蕉天堂色| Av在线不卡一区| 婷综合六月| 色五月婷婷影视| 91oumei| 九色激情网| 五月丁香六月婷婷久久肏| 97色在线观看视频| 丁香婷婷六月天| aa久久| 久热九九| 看黄的网站18禁| 激情无码五月天| 五月天婷五月天综合网在线观| 日本天天综合| 色婷婷六月开心中文字| 五月激情综合深爱| 色J香五月天| 亚洲va欧美va天堂v国产综合| 色综合色综合色综合色综合| nvrentiantang av| 视频久久9| 粉嫩AV久久一区二区三区| 婷婷五月天激情小说| 96精品成人无码A片观看金桔| 超碰在线caop| 丁香五月激情五月| 激情综合在线播放| 中文字幕人妻在线| 99热国品免费| 五月丁六月香av| 99热视精品| 五月人妻婷婷视频| 性生活视频98791| 色五月激情五月天| 丰满少妇猛烈A片免费看观看| 日韩艹比| 久久婷婷电影| 国产老熟妇亲子乱对白| 亚洲精品视频在线播放| WWW丁香五月| 开心综合激情综合| 久久久噜噜噜久久人妻| 超碰免费成人| 狠狠色综合网| yw国产AV| 97日在线视频| 五月丁香久人妻中文| 清色五月天| 婷婷开心激情五月激情网| 99精品无码| 婷婷综合久久| 中文字幕有多少字| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 激情五月天免费视频| 婷婷综合激情| 五月丁香六月婷婷久久| 777米奇影视第四色| 欧美69色| 成人精品在线观看| 婷婷综合激情五月综合| 狠狠插狠狠插| 天天爽天天干| 1024人妻无码中文字幕| 日本久久爽| 久久99热这里只有精品23| 丁香婷婷十月| 91人人操人人| 91人在线观看| 玖玖婷婷精品| 99热20| 婷婷婷婷色| 东京热免费视频| 日逼影音先锋男人AV资源站| 色色婷婷丁香五月天| 永久的网站AAAA| 天天操天天日天天操| 91大神操美女| 99人妻碰碰久久久禁片| 在线资源av-超碰中文在线-成人AV| 天天爽天天爽天天爽天天爽天天爽天天爽天天 | 97五月天| 日本精品久久久久中文字幕| 影音先锋91男人资源在线播放| 99热网站| 丁香五月a| www夜夜操| 99艹精品在线观看| 久久黄A片| 伊人AV五月婷| 狠狠干天天日| 丁香五月婷婷www..com| 久久五月视频| 狠狠干天天日| 熟妇无码乱子成人精品| 六月激情婷婷综合| 婷婷六月天精品| 欧美大香蕉视频| 色五月综合激情网| 成人视频一区| 这里只有精品视频99| 99色网站| 色色婷婷色色| 五月丁香在线精品| www..999热久| 国成人网| 五月丁香在线视频观看| 色色色色热| 国产AV一区二区三区日韩| 婷婷五月丁香花综合| 久久久久99精品成人片| 亚洲综合色色色| 亚洲在线成人| 激情五月丁香在线观看直播| www婷婷| 另类图片五月激情| 五月激情另类| 狠狠色婷婷777| 九九美女视频| oVV4WIB3vFi8D| 99视频在线| 97日本在线| 99精品久久久久久久婷婷久久| 亚洲中文乱字字幕在线永久| caopeng97人人| 亚洲一区二区无码蜜乳av| 五月天激情小说| av第一二区| 亚洲va欧美va国产综合久久久| 色综合伊人网| 91视频精品99| 精品久久艹| av操逼网| 色色亚洲无码| 久久天堂网| 久艹久| 色婷婷先锋| 欧美大肥婆大肥BBBBB| 婷婷五月香蕉| 97色色色| 五月婷婷久久爱| 五月社区婷婷激情| 97五月天| 亚洲欧美成人在线| 97干视频在线| 婷婷中文网站| 六月久久狠狠| 在线看九一V图片| 新99思思视频| 五月色亚洲| 色婷婷大香蕉| 色婷另类| 丁香久久九九99| 天天摸天天日天天舔| 人与禽A片啪啪| 婷婷五月成人有| 天天日,天天干,天天操| 色色爽爽天天| 综合一区二区三区| 秋霞丝袜啪啪啪| 婷婷综合精品视频97| 亚洲黄网AV| 中文aV网| 日本不卡一区二区三区| 欧美美女国产日韩一区二区久 | 色色色五月| 99亚洲无码| 99A片| 五月成人网天天| 激情文学综合婷婷五月天丁香花| 亚洲综合网激情五月天| 激情五月天网| 久这里只有精品| 婷婷久久久| 婷婷色五月综合丁香| 狠狠色综合网| 这里只有精品在线视频精品| 五月婷婷,六月丁香| 激情综合久久| 丁香五月色情| 婷婷久月| 能直接看的av网站| 轮奸综合网| 99精品视频在线观看| 成人五月天婷婷| 大香蕉五月天婷婷| 久久久久婷婷五月热综合| 色色婷婷五月天| 国产精品色色666| 六月婷婷色综合| 十月丁香婷婷| 成人做爰黄A片免费看直播室男男| 色综合五月在线| 91操人人操| 夜夜爽天天日| 91美女艹逼网站| 久久机热/这里只有精品 | 无码激情AAAAA片-区区| 国产寻花在线| 久久精品凹凸分类| 亚洲欧州色情在线观看| 婷婷干六月综合旧址| 五月色丁香| 狠狠爱婷婷爱| 久久伊人五月天| 六月婷婷之青青草| 青草青草视频2免费观看| 国产日日夜夜操| 色播jjjj| 五月天激情国产综合婷婷| 天堂久久性| 国产亚洲在线观看| 丁香六月 婷婷六月| 欧美内射AAAAAAXXXXX| 狠狠撸激情综合丁香五月天俺来啦| 97碰91| 亚洲无码99| 日韩久久视频| 狠狠操天天干| 天天射射夜| 强奸幻女毛片| 婷婷99狠狠躁天天躁中| 精品在线| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品 | 色情成人五月天| 91黄址| 五月天精品| 巴基斯坦粉嫩无码视频| 五月天另类图片区99| 97在线精品| 久久五月激情网| 91精品久| 色色五月丁香婷婷| 久久国产精品乱子伦_靑青草…| 两性婷婷丁香五月| 六月婷婷综合| 人妻狠狠操| 婷婷.com| 99热在线观看| 五月婷婷新网站| 九色视频九色九色91jiuseshipin| 第五色婷婷| 99色激| 久久婷婷五月丁香蜜桃网| 天天日天天舔| 色欲Av五月天| 4399精品一区二区| 五月丁香六月香香蕉| 色小说婷婷五月天天天| av在线不卡播放| 激情五月天婷婷丁香| 激情小说之五月| 超碰男人色| 99热这里只有精品8| 婷婷基地爱| 九九精品热| 曰本久久女| 丁香九月婷婷综合| 超碰renrenai| 性热视频99精品| 丁香六月激情| 狠狠干五月天| 亚洲色情免费网| 久久码久久无清| 久久xxxx| 国产在这里只有精品| 激情综合青草| 色九九一二| 九九热视频在线观看| 五月丁香中文字幕| 综合亚洲色色| 色开心五月婷婷丁香HD| 丁香五月天激情综合| 亚洲99精品欧美一区| 久久久久久xxxxx| 色色婷婷婷丁香五月天| 亚洲高清在线| 亚洲色另类| 色人五月婷婷| 91精品久久久久久久久 | 综合激情在线| 九色亚洲| 欧美婷婷综合| 99看片| 婷婷久久免费看| 99久久99久久| 九九婷婷激情综合网| 色色色五月婷婷| 岛国AV网站| 99久久国产成人精品| 婷婷色五月开心五月| 久草婷婷网 | 91人人爽久久涩噜噜噜| www色婷婷久久综合久色| www.久久爱.c n| 亚洲精品又粗又大又爽A片| 婷婷丁香花五月天| 都市激情五月婷婷亚洲| 激情五月开心五月在线视频| 九月色婷婷综合| 激情五月成年| 99爱视频在线| 日本婷婷五月天| 久久这里只有精品16| 婷婷综合成人五月天| 99性视频| 99亚洲视频| 久色网五月| 六月99天天婷婷激情综合| 中文字幕亚洲-区久久99婷婷| 99热这里有精品| 久久曰曰| 26UUU精品一区二区| 成人狠狠成人狠狠成人狠狠成人狠狠| 婷婷天堂综合| 九月激情综合婷婷| 黄色网址五月婷婷| 操一区| 九热精品| 天天搞天天爽| 欧美视频在线观看噜噜| 婷婷五月综合色中文字幕| 操日视频| 超碰人人操人人9| ..真实国产乱子伦毛片| 99热在线观看| 五月婷婷六月天| 天天天干夜夜夜操| 战争与艾拉电影免费观看| 操人妻90p| 激情九月婷婷| 激情六月天婷婷| 久久五月情| 色九月丁香婷婷蜜桃在线观看| 被强行糟蹋的女人A片| 另类激情中文| 久久久久久久久久8888| 九九AV在线| 大香蕉太香蕉视频97| 国产无遮挡又黄又爽免费网站| 亚洲成人免费电影| 天天插天天插天天插天天插 | 亚洲成人综合在线| 99热超碰在线| 五月玖玖| 久久艹99| 激情九色| 天天摸天天透天天舔| 欧美一级操逼视频| 五月婷婷在线观看| 亚洲精品久久久久久久久久吃药| 狠狠操天天操综合| 亚洲天堂AV免费片| 五月丁香综合激情在线观看| www.日本久久videos| 97精品综合久久| 国产 亚洲 在线| 色热久| 五月天丁香网站| 色呦呦美女| 99re热99| 久草五月婷婷| 色久女| 婷婷五月激情图片| www.jiujiujiu| 激情婷婷久久| 九九热啪啪| 99日本黄站| 久久99婷婷| 淫视馆aV二区一区| 99色激| 婷婷五月天成人五月天| 色婷婷丁香网| 伊人青草成人| 婷婷五六日| 婷婷五月久久| 婷婷.com| 五月天婷婷激情小说电影|