国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Flink CDC報(bào)The connector is trying to read binlog starting at xxx but this is no longer available問(wèn)題解決

這篇具有很好參考價(jià)值的文章主要介紹了Flink CDC報(bào)The connector is trying to read binlog starting at xxx but this is no longer available問(wèn)題解決。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

背景

問(wèn)題是筆者最近在使用FlinkCDC2.3.0捕獲MySQL binlog日志時(shí)遇到的,MySQL使用的阿里云的RDS,MysqlCDC使用讀賬號(hào)以Initinal模式,任務(wù)已經(jīng)運(yùn)行了一段時(shí)間突然報(bào)的錯(cuò),之前在使用FlinkCDC時(shí)也曾遇到過(guò),設(shè)置了一些參數(shù)后沒(méi)有再出現(xiàn)過(guò),一直比較忙沒(méi)有來(lái)得及總結(jié)下來(lái)。但是今天同事又遇到了同類(lèi)型新的報(bào)錯(cuò)形式。下次也將問(wèn)題記錄下來(lái)備忘,同時(shí)也希望對(duì)大家有幫助。

問(wèn)題

報(bào)錯(cuò):Caused by: java.lang.IllegalStateException: The connector is trying to read binlog starting at Struct{version=1.6.4.Final,connector=mysql,name=mysql_binlog_source,ts_ms=1686104185098,db=,server_id=0,file=mysql-bin.000702,pos=1255923,row=0}, but this is no longer available on the server. Reconfigure the connector to use a snapshot when needed.

詳細(xì)報(bào)錯(cuò)如下:
Flink CDC報(bào)The connector is trying to read binlog starting at xxx but this is no longer available問(wèn)題解決,cdc,Flink,flink,java,大數(shù)據(jù),mysql,binlog

分析

很多FlinkCDC的報(bào)錯(cuò)中都會(huì)有SplitFetcher thread 0 received unexpected exception while polling the record這樣一句提示,雖然這是同一功能報(bào)錯(cuò),但是容易對(duì)大家造成困惑。
在網(wǎng)上尋求幫助時(shí)也造成了麻煩。下面我們來(lái)分析這個(gè)報(bào)錯(cuò),首先我們來(lái)了解下struct中的數(shù)據(jù)信息的含義,其實(shí)它是MySQL binlog source的元數(shù)據(jù)信息,那他的參數(shù)都是啥玩意呢

{
	version=1.6.4.Final,
	connector=mysql,
	name=mysql_binlog_source,
	ts_ms=1686104185098,
	db=,server_id=0,
	file=mysql-bin.000702,
	pos=1255923,
	row=0
}

version:該binlog source使用的Debezium版本號(hào),
connector:該binlog source所使用的Debezium connector類(lèi)型
name:該binlog source的名稱,
ts_ms:表示該操作發(fā)生的時(shí)間戳(毫秒級(jí)別),
db:表示該操作所在的數(shù)據(jù)庫(kù),
server_id:表示執(zhí)行該操作的MySQL服務(wù)器ID,
file:表示該操作所在的二進(jìn)制日志文件名,
pos:表示該操作在該文件中的位置,
row:表示該操作影響的行數(shù)。

看到這里我們知道了這是FlinkCDC在讀取的mysqlbinlong時(shí)在嘗試讀取mysql-bin.000702文件,偏移量為1255923點(diǎn)位時(shí)出問(wèn)題了,這些參數(shù)可以幫助我們定位該數(shù)據(jù)的位置。出啥問(wèn)題了呢?我們繼續(xù)看報(bào)錯(cuò),報(bào)錯(cuò)說(shuō)這個(gè)點(diǎn)位的快照在當(dāng)前庫(kù)中已經(jīng)不可以用了,那么binlog啥情況下不可用呢,就是被刪了或者丟了情況下不可以用。
那么我們分析什么情況下binlog會(huì)被刪掉呢?這就要看我們數(shù)據(jù)庫(kù)的備份保留策略了,于是我們查看了阿里云RDS上的日志備份保留策略。
Flink CDC報(bào)The connector is trying to read binlog starting at xxx but this is no longer available問(wèn)題解決,cdc,Flink,flink,java,大數(shù)據(jù),mysql,binlog
我們發(fā)現(xiàn)日志保留7天,但是下面還有一個(gè)本地日志保留策略就是本地的日志只會(huì)保留18個(gè)小時(shí),時(shí)間一到就會(huì)刪除另外如果文件保留個(gè)數(shù)到達(dá)60個(gè)也會(huì)刪除,還有就是占用空間30%也會(huì)被刪除。但是我們分析了一下并沒(méi)有符合這些條件。于是我在社區(qū)溝通了一下,總結(jié)情況如下:

  • 場(chǎng)景1: RDS做了內(nèi)部遷移操作,flink jar作業(yè)使用mysql cdc消費(fèi)mysql數(shù)據(jù)報(bào)錯(cuò)的原因是作業(yè)處理的速度追不上mysql binlog 產(chǎn)生的速度,導(dǎo)致正在讀的位點(diǎn)被清理了
  • 場(chǎng)景 2: RDS有日志保留策略,最長(zhǎng)18個(gè)小時(shí),最大占用30%存儲(chǔ)空間,兩個(gè)條件誰(shuí)先滿足都會(huì)觸發(fā)刪除,如果你寫(xiě)入特別多,超過(guò)30%的存儲(chǔ)空間了,可能binlog日志1小時(shí)就刪除了
  • 場(chǎng)景 3: 通過(guò)只讀實(shí)例消費(fèi) CDC 數(shù)據(jù),RDS的只讀實(shí)例不保證binlog(本地只保留10s,上傳oss),所以 flink cdc 側(cè)不建議連接 RDS 的只讀實(shí)例。只讀實(shí)例一旦作業(yè) Failover 10s 內(nèi)恢復(fù)不過(guò)來(lái),就會(huì)有這個(gè)異常。只讀實(shí)例判定,rr 開(kāi)頭的就是只讀實(shí)例 rm 開(kāi)頭的就是正常的實(shí)例。
    同時(shí)我們?cè)贔linkCDC官方問(wèn)題集找到了該問(wèn)題部分提示。也是讓查找binlog策略。
    Flink CDC報(bào)The connector is trying to read binlog starting at xxx but this is no longer available問(wèn)題解決,cdc,Flink,flink,java,大數(shù)據(jù),mysql,binlog

解決方案

經(jīng)過(guò)上述的了解我們大體知道我們?nèi)N場(chǎng)景都有可能出現(xiàn),問(wèn)題基本上就是mysql的binlog被清理掉了,CDC找不到點(diǎn)位就報(bào)錯(cuò)了,對(duì)于這種情況我們?nèi)缦氯齻€(gè)操作:

  • 分析了任務(wù)的背壓,減少上游source任務(wù)的并行度,增加了下游任務(wù)的并行度,來(lái)緩解背壓,加快任務(wù)處理速度。
  • 同時(shí)過(guò)濾掉計(jì)算中不需要的數(shù)據(jù),來(lái)減少數(shù)據(jù)體量。以加快任務(wù)進(jìn)度。
    通過(guò)上述操作緩解場(chǎng)景1、場(chǎng)景2。
  • 另一個(gè)方面,我們將讀賬號(hào)替換為寫(xiě)賬號(hào),
    防止場(chǎng)景3的情況。
  • 最后針對(duì)場(chǎng)景2這種FlinkCDC和阿里云RDS備份策略存在兼容性問(wèn)題造成的bug,我們直接進(jìn)行了全狀態(tài)重啟(即在Initinal模式下重啟任務(wù))以此跳過(guò)數(shù)據(jù)被刪除的binlog的點(diǎn)位。

總結(jié)

在FlinkCDC的issues,我見(jiàn)到了比較多的人提了問(wèn)題,官方建議mysql 側(cè) binlog文件日期保留長(zhǎng)點(diǎn)但是,依然解決不了問(wèn)題。并且對(duì)于讀賬號(hào)問(wèn)題10s問(wèn)題阿里云官方并未說(shuō)明,筆者也是咨詢大佬才了解到。社區(qū)有人建議試試加這個(gè)配置筆者尚未實(shí)踐debeziumProperties.put("snapshot.mode", "when_needed");,之后考慮加一下試試。如果大家和筆者一樣實(shí)在沒(méi)有辦法就選擇重啟吧。FlinkCDC對(duì)這個(gè)問(wèn)題的優(yōu)化并沒(méi)有很好。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-729273.html

到了這里,關(guān)于Flink CDC報(bào)The connector is trying to read binlog starting at xxx but this is no longer available問(wèn)題解決的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Flink Oracle CDC Connector源碼解讀

    Flink Oracle CDC Connector源碼解讀

    flink cdc是在flink的基礎(chǔ)上對(duì)oracle的數(shù)據(jù)進(jìn)行實(shí)時(shí)采集,底層使用的是debezium框架來(lái)實(shí)現(xiàn),debezium使用oracle自帶的logminer技術(shù)來(lái)實(shí)現(xiàn)。logminer的采集需要對(duì)數(shù)據(jù)庫(kù)和采集表添加補(bǔ)充日志,由于oracle18c不支持對(duì)數(shù)據(jù)添加補(bǔ)充日志,所以目前支持的oracle11、12、19三個(gè)版本。 flink oracle

    2024年02月02日
    瀏覽(23)
  • Flink CDC 基于mysql binlog 實(shí)時(shí)同步mysql表

    Flink CDC 基于mysql binlog 實(shí)時(shí)同步mysql表

    環(huán)境說(shuō)明: flink?1.15.2 mysql 版本5.7? ? 注意:需要開(kāi)啟binlog,因?yàn)樵隽客绞腔赽inlog捕獲數(shù)據(jù) windows11 IDEA 本地運(yùn)行 先上官網(wǎng)使用說(shuō)明和案例:MySQL CDC Connector — Flink CDC documentation 1. mysql開(kāi)啟binlog (注意,引擎是 InnoDB,如果是ndbcluster,本人測(cè)試是捕獲不到binlog日志的,增量相

    2024年02月10日
    瀏覽(24)
  • Flink CDC獲取mysql 主從分庫(kù),分庫(kù)分表的binlog

    Flink CDC可以獲取MySQL主從分庫(kù),分庫(kù)分表的binlog,但是需要注意以下幾點(diǎn): Flink CDC需要配置MySQL的binlog模式為row,以及開(kāi)啟GTID(全局事務(wù)標(biāo)識(shí)符),以便正確地識(shí)別和處理binlog事件 Flink CDC需要配置MySQL的主從復(fù)制關(guān)系,以及指定主庫(kù)或從庫(kù)的地址,以便正確地連接和讀取bin

    2024年02月11日
    瀏覽(19)
  • 對(duì)比f(wàn)link cdc和canal獲取mysql binlog優(yōu)缺點(diǎn)

    Flink CDC和Canal都是用于獲取MySQL binlog的工具,但是有以下幾點(diǎn)優(yōu)缺點(diǎn)對(duì)比: Flink CDC是一個(gè)基于Flink的庫(kù),可以直接在Flink中使用,無(wú)需額外的組件或服務(wù),而Canal是一個(gè)獨(dú)立的服務(wù),需要單獨(dú)部署和運(yùn)行,增加了系統(tǒng)的復(fù)雜度和成本 Flink CDC支持多種數(shù)據(jù)庫(kù)的數(shù)據(jù)變化捕獲,如

    2024年02月11日
    瀏覽(30)
  • Flink CDC 基于mysql binlog 實(shí)時(shí)同步mysql表(無(wú)主鍵)

    Flink CDC 基于mysql binlog 實(shí)時(shí)同步mysql表(無(wú)主鍵)

    環(huán)境說(shuō)明: flink 1.15.2 mysql 版本5.7 ? ?注意:需要開(kāi)啟binlog,因?yàn)樵隽客绞腔赽inlog捕獲數(shù)據(jù) windows11 IDEA 本地運(yùn)行 具體前提設(shè)置,請(qǐng)看這篇,包含 binlog 設(shè)置、Maven...... Flink CDC 基于mysql binlog 實(shí)時(shí)同步mysql表_彩虹豆的博客-CSDN博客 經(jīng)過(guò)不懈努力,終于從阿里help頁(yè)面找到了支

    2024年02月08日
    瀏覽(27)
  • Failed to start connector [Connector[HTTP/1.1-8080]]

    Failed to start connector [Connector[HTTP/1.1-8080]]

    1、解決Web server failed to start. Port 8080 was already in use 2、SpringBoot啟動(dòng)報(bào)錯(cuò):“Error starting ApplicationContext. To display the conditions report re-run your application with ‘debug’ enabled.” 3、Failed to start end point associated with ProtocolHandler [http-nio-8080] 4、Failed to start connector [Connector[HTTP/1.1-8080]] 提示:

    2024年02月13日
    瀏覽(22)
  • 第3.4章:StarRocks數(shù)據(jù)導(dǎo)入--Flink Connector與CDC秒級(jí)數(shù)據(jù)同步

    Flink作為當(dāng)前流行的流式計(jì)算框架,在對(duì)接StarRocks時(shí),若直接使用JDBC的方式“流式”寫(xiě)入數(shù)據(jù),對(duì)StarRocks是不友好的,StarRocks作為一款MVCC的數(shù)據(jù)庫(kù),其導(dǎo)入的核心思想還是“攢微批+降頻率”。為此,StarRocks單獨(dú)開(kāi)發(fā)了flink-connector-starrocks,其內(nèi)部實(shí)現(xiàn)仍是通過(guò)對(duì)數(shù)據(jù)緩存攢批

    2023年04月15日
    瀏覽(51)
  • 60、Flink CDC 入門(mén)介紹及Streaming ELT示例(同步Mysql數(shù)據(jù)庫(kù)數(shù)據(jù)到Elasticsearch)-CDC Connector介紹及示例 (1)

    60、Flink CDC 入門(mén)介紹及Streaming ELT示例(同步Mysql數(shù)據(jù)庫(kù)數(shù)據(jù)到Elasticsearch)-CDC Connector介紹及示例 (1)

    一、Flink 專欄 Flink 專欄系統(tǒng)介紹某一知識(shí)點(diǎn),并輔以具體的示例進(jìn)行說(shuō)明。 1、Flink 部署系列 本部分介紹Flink的部署、配置相關(guān)基礎(chǔ)內(nèi)容。 2、Flink基礎(chǔ)系列 本部分介紹Flink 的基礎(chǔ)部分,比如術(shù)語(yǔ)、架構(gòu)、編程模型、編程指南、基本的datastream api用法、四大基石等內(nèi)容。 3、

    2024年02月19日
    瀏覽(21)
  • MySQL安裝中出現(xiàn)的The selected path already exists以及Connector/Python ***以及start service MySQL80 Failed

    MySQL安裝中出現(xiàn)的The selected path already exists以及Connector/Python ***以及start service MySQL80 Failed

    近因?yàn)閷W(xué)習(xí)Python需要用到數(shù)據(jù)庫(kù),選擇了MySQl去應(yīng)用安裝,但是安裝失敗一直困擾著我??赡?也是因?yàn)閳?bào)錯(cuò)的details太多很麻煩所以不想仔細(xì)看吧。這幾天搞下來(lái)也有點(diǎn)心得和大家分享一下。 意思是說(shuō)你已經(jīng)創(chuàng)建了文件夾(安裝過(guò)程會(huì)自動(dòng)創(chuàng)建),我們只需要找到位置給刪除

    2024年02月15日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包