核心數據一致性達99.99%、開發效率提升50%、運維成本降低70%——這是中控技術採用 Apache SeaTunnel 構建數據採集框架及相關數據服務體系後的實測成效。
上週 Apache SeaTunnel 線上 Meetup 上,中控技術工程師崔俊樂分享了這家大型工業 AI 平台型公司的實踐經驗。我們已將視頻內容整理成文,供行業同仁參考借鑑。
作者簡介
崔俊樂,中控技術股份有限公司數據技術主管。擁有多年數據領域工作經驗,深度參與集團級數據平台的規劃、建設與技術演進。在大數據技術的採集、存儲與計算方面具備深厚的架構與實踐經驗。作為SeaTunnel的深度實踐者,他將分享如何利用該工具在企業內部構建高效、統一的數據鏈路,驅動數據技術方向的落地與創新。
中控技術 1993 年創立於杭州,三十年一直圍着流程工業轉,今天給自己的新定位是"驅動流程工業的工業 AI 平台型公司",客户主要是化工、電力、製藥園區的 DCS、PLC、MES 系統。換句話説,裝置裏每一度電、每一滴酸、每一次閥門動作,都要先過公司的採集層,才能往後談工藝優化、碳排計算和 AI 預警。
困境:業務與技術的雙重枷鎖
業務側最怕"起點掉鏈子"。數據採集作為數據工作的起點與基石,採集的穩定性和效率,直接影響數據資產的價值密度。採集一旦不穩,後面所有數據資產直接貶值。
業務側把這些問題拆成三句話:
- 數據質量不佳,影響市場判斷;
- 數據應用落地慢、數據接入效率低。
- 實時數據應用存在延遲,影響業務運行。
而這與公司在技術側遇到的挑戰分不開:
- 採集挑戰:入湖成本高、週期長,無法快速交付。
- 開發挑戰:需要開發不同的代碼,影響開發效率。
- 運維挑戰:技術組件多,運維成本高。
破局:為何選擇SeaTunnel
為了解決這些問題,中控技術進行了數據採集工具的技術選型。內部打分只看結果,在經過多方對比之後,中控技術選擇了擁有眾多優勢的 Apache SeaTunnel:
- 全面的連接能力:擁有豐富的Connector生態,官方支持上百種數據源/目的地的讀寫。
- 集羣高可用與穩定性:分離模式架構,即使單個Master或者Woker節點異常,也不會影響採集任務的持續性。
- 數據一致性保障:支持Exactly-Once語義,並能通過CheckPoint機制實現任務異常後的自動斷點續傳。
- 強勁的吞吐性能:具備出色的分佈式數據處理能力,通過簡單配置即可調整並行度。
- 可觀測的運維體驗:提供了豐富的監控指標,並可集成 Prometheus、Grafana和AlertManager。
還有不可忽略的一點是,Apache SeaTunnel 學習門檻比 Flink 低,上手較快。經過評估技術後,Apache SeaTunnel 成為中控技術新的採集底座。
實踐:核心實施細節
為了使 Apache SeaTunnel 更貼閤中控技術在流程工業領域的業務場景需求,公司對其進行了深度優化,圍繞工業數據採集的高實時性、強穩定性及多協議適配性等核心訴求,開展了一系列針對性增強,充分發揮其在工業 AI 平台數據服務體系中的支撐作用。
關鍵優化
- jvm_master_options
例如圍繞內存管理和 GC(垃圾回收)開展的優化。在內存管理上,限制元空間大小並配置堆內存 Dump 以分析 OOM;GC 方面,選用 G1 收集器,通過日誌、停頓時間、堆佔用率、字符串去重、線程數、分區大小等參數調優,平衡 GC 開銷與應用性能,保障內存使用效率與應用穩定性。
- hazelcast-master.yaml
hazelcast-master.yaml優化涵蓋多方面:通信上設最大重試與端口重試次數保障穩定;線程和日誌配置提升資源利用與追溯性;調心跳間隔、故障檢測閾值增強集羣故障感知;啓用Map持久化,用HDFS存儲,配S3信息確保數據可靠存儲訪問。
延遲處理
針對Oracle-CDC延遲問題,中控技術從三方面進行了優化。
首先,關注Logminer日誌切換頻率,建議將其控制在每小時十次左右,過於頻繁的切換易引發長時間延遲。
其次,對於QPS值極高的表,考慮將其拆分到新的SeaTunnel任務中,以減輕單任務壓力。
最後,進行參數優化,涉及connection.pool.size、log.mining.strategy、log.mining.batch.size、log.mining.sleep.time等參數,通過合理調整這些參數來提升Oracle-CDC的性能,減少延遲情況的發生。
任務示例
- MySQL-CDC 數據同步任務配置
- Oracle-CDC 數據同步任務配置
運維體系
在運維體系上,中控技術也進行了一系列優化,用 Prometheus 和 Grafana 進行可視化集羣監控和任務監控。
-
集羣監控 ✅節點狀態:需實時監控節點狀態,確保Worker節點無異常下線,保障集羣處理能力; ✅集羣吞吐:監控集羣整體的SourceReceivedQPS和SinkWriteQPS,掌握數據流入與流出速率,評估集羣負載; ✅資源狀態:監控集羣節點的CPU、內存,為資源擴容或優化提供依據; ✅網絡健康度:通過監控內部心跳與通信延遲,確保集羣網絡狀況良好。
-
任務監控 ✅任務運行狀態:要實時檢查所有任務的運行狀態(Running/Failed/Finished),這是監控的最基本要求; ✅:數據同步量:監控任務的SourceReceivedCount和SinkWriteCount,實時掌握每條數據流水線的吞吐量; ✅延遲時間:這是CDC任務最關鍵的指標之一,當採集端發生持續延遲時發送告警。
頁面還是熟悉的Grafana,只是數據源換成了 Apache SeaTunnel 自帶的 Metrics API。
產品集成
集成 Apache SeaTunnel 後,中控技術構建了自己以指標管理平台為核心的數據服務架構。
該數據服務架構由數據中台(InPlant ED-DMP)提供數據調度任務管理、流計算服務管理、數據開發、離線 / 實時入湖等能力為底座支撐,依託大數據計算引擎和分佈式存儲運行;同時涵蓋數據標準與質量、資產、主數據、元數據管理等模塊。
指標中心(InPlant ED-metric)為上層提供基礎支撐,指標管理平台基於此構建,具備自助報表、數據門户、數據大屏、指標市場、指標分析、預警監控等功能,最終向上輸出多租户能力、私有云化、規範管理、智能決策四類數據服務,形成從數據底層到服務應用的完整運行邏輯。
成效:收穫了什麼
基於 Apache SeaTunnel 構建專屬數據採集框架與數據服務體系後,中控技術取得了顯著成效,核心收穫集中體現在以下維度:
- 穩定性:從“疲於奔命”到“高枕無憂” 任務故障率明顯降低,核心數據一致性也達到了 99.99% 的較高水平,集羣可用性大幅提升。
- 效率:開發運維效能的倍增 開發效率提升 50%,運維成本降低 70%,數據時效性提升,這些都是實實在在的數據提升
- 架構:資源優化與統一框架 統一了技術棧,不僅架構更清晰,還降低了學習成本。
一句話總結:Apache SeaTunnel 讓數據採集徹底擺脱瓶頸束縛,成為驅動業務創新的核心引擎。
若你正深陷 Sqoop+Canal 架構的痛點困境,中控技術的這些實踐經驗或許能為你照亮前路,助你少走彎路、高效破局。