日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

實時同步常見問題

本文為您介紹實時同步的相關問題。

文檔概述

問題分類

相關文檔

實時同步任務配置須知

實時同步MySQL數(shù)據(jù)常見問題

實時同步MySQL數(shù)據(jù)源的數(shù)據(jù)時,一開始讀到數(shù)據(jù),一段時間后無法讀到數(shù)據(jù),怎么處理?

實時同步Oracle、PolarDB、MySQL常見問題

實時同步Oracle、PolarDB、MySQL任務重復報錯

報錯信息與解決方案

報錯信息與解決方案

  • 實時同步Kafka數(shù)據(jù)報錯: Startup mode for the consumer set to timestampOffset, but no begin timestamp was specified.

  • 實時同步MySQL數(shù)據(jù)報錯:

    • Cannot replicate because the master purged required binary logs.

    • MySQLBinlogReaderException

    • show master status' has an error!

    • parse.exception.PositionNotFoundException: can't find start position forxxx

    • 數(shù)據(jù)庫位點過期,請重新選擇位點,源庫可用最早位點xxx

  • 實時同步Hologres數(shù)據(jù)報錯:permission denied for database xxx

  • 實時同步至MaxCompute數(shù)據(jù)報錯:ODPS-0410051:invalid credentials-accessKeyid not found

  • 實時同步至Oracle報錯:logminer doesn't init, send HeartbeatRecord

實時同步任務配置須知

實時同步任務支持哪些數(shù)據(jù)源?

實時同步支持的數(shù)據(jù)源請參考文檔:實時同步支持的數(shù)據(jù)源

為什么實時同步任務延遲較大?

當您在查詢實時同步任務產(chǎn)出的表數(shù)據(jù),發(fā)現(xiàn)數(shù)據(jù)未同步時,原因可能是實時同步任務出現(xiàn)延遲,您可以進入運維中心的實時同步任務界面,查看任務的業(yè)務延遲數(shù)值是否過大。詳情請參見實時同步任務延遲解決方案

若業(yè)務延遲較大,其可能原因如下:

報錯現(xiàn)象

直接原因

解決方案

讀端延遲大

源端數(shù)據(jù)量變更過多。

延遲突然增大,說明某一時間點源端數(shù)據(jù)量增加。

若源端數(shù)據(jù)更新快,數(shù)據(jù)量多,但同步延遲大,您可以:

  • 修改任務配置:您可以在源端數(shù)據(jù)庫最大連接數(shù)許可范圍內,基于同步庫或表個數(shù)綜合評估調整實時同步并發(fā)數(shù)。

    說明

    并發(fā)設置上限為當前資源組支持的最大并發(fā)數(shù)。不同規(guī)格資源組支持的最大并發(fā)數(shù)或任務數(shù)不同,詳情請參見:DataWorks資源組概述。設置并發(fā)時,源端若為RDS可結合數(shù)據(jù)庫允許的最大連接數(shù)進行評估,LogHub可根據(jù)shard數(shù)來設置。

  • 升級資源組規(guī)格:當源端數(shù)據(jù)量增大,或者同步解決方案任務重新編輯過同步任務(將任務由讀取單庫單表變更為讀取多庫多表),導致當前資源組消耗不了當前同步數(shù)據(jù)量級,此時您可選擇擴大資源組規(guī)格,資源組規(guī)格調整詳情請參考:變更規(guī)格操作

同步起始位點設置較早。

若起始位點比較早,實時同步任務追平數(shù)據(jù)需要一定時間。

寫端延遲大

目標數(shù)據(jù)庫性能、負載等問題

當數(shù)據(jù)庫負載較高時,單一的調整同步任務并發(fā)并不能解決問題,您需要聯(lián)系數(shù)據(jù)庫管理員尋求相關幫助。

讀寫端延遲大

使用公網(wǎng)同步,網(wǎng)絡問題導致同步任務延遲。

公網(wǎng)同步無法保障實時同步時效性,建議您打通網(wǎng)絡后通過內網(wǎng)同步數(shù)據(jù)。

說明

公網(wǎng)同步存在以下風險:網(wǎng)絡可能不穩(wěn)定,丟包等時常發(fā)生,影響同步性能,安全性不高。

若源端和目標端數(shù)據(jù)庫性能差異較大或數(shù)據(jù)庫負載較高,同樣會導致延遲較大。

當數(shù)據(jù)庫負載較高時,單一的調整同步任務并發(fā)并不能解決問題,您需要聯(lián)系數(shù)據(jù)庫管理員尋求相關幫助。

實時同步任務為什么不建議使用公網(wǎng)?

實時同步任務使用公網(wǎng)時,會存在以下風險:

  • 網(wǎng)絡可能不穩(wěn)定,丟包等時常發(fā)生,影響同步性能。

  • 安全性不高。

實時同步字段格式問題

數(shù)據(jù)集成實時同步在同步MySQL、Oracle、Loghub和PolarDB類型的數(shù)據(jù)至DataHub或Kafka時,會在同步的目標端添加5個附加列,以進行元數(shù)據(jù)管理、排序去重等操作。詳情請參見實時同步字段格式

實時同步數(shù)據(jù)時,如何處理TRUNCATE?

實時同步支持TRUNCATE的,在增全量合并的時候會生效。如果選擇忽略TRUNCATE,可能會導致進行實時數(shù)據(jù)同步時出現(xiàn)多的數(shù)據(jù)。

如何提高實時同步的速度和性能?

如果同步寫入速度較慢,可以適當增加寫入端并發(fā)數(shù),調整JVM參數(shù),JVM參數(shù)與同步庫數(shù)量無關,和變更頻率有關。在當前資源組機器允許情況下,內存給的越大,F(xiàn)ull GC頻率會越小,實時同步性能相應也會越高。實時同步01實時同步2

實時同步是否支持在界面運行?

實時同步不支持在DataWorks的界面上直接運行,您需要在配置好實時同步任務后,提交并發(fā)布實時同步節(jié)點后,進入生產(chǎn)環(huán)境運行該節(jié)點。詳情請參見實時同步任務運維

實時同步MySQL數(shù)據(jù)源時速度為什么會變慢?

原因之一就是同步的binlog變多,因為binlog是實例級別,即便配置的同步任務只同步了表A,那么沒有在任務中的表B、表C等如果發(fā)生變更,也會生成binlog,這些額外增加的binlog就會使同步處理的速度變慢。

實時同步中選擇單庫與選擇多庫的內存占用模式為什么會有差異?

選擇大于等于2個庫時就進入了“整實例”實時同步的模式,此時資源的占用要高于2個單獨只有一個庫的實時任務。

實時同步任務DDL策略都有哪些?

處理方式如下:

正常處理

忽略

報警

出錯

此DDL消息將會繼續(xù)下發(fā)給目標數(shù)據(jù)源,由目標端數(shù)據(jù)源來處理,不同目標端數(shù)據(jù)源處理策略可能會不同。

丟棄掉此DDL消息,目標端數(shù)據(jù)源不會做任何處理。

丟棄掉此DDL消息,同時發(fā)送告警信息。

說明

如果實時任務未配置對應報警規(guī)則,則無法收到對應的報警信息。

直接讓實時同步任務以出錯狀態(tài)終止運行。

說明

如果實時任務配置了任務狀態(tài)對應的報警規(guī)則,則可以收到對應的報警信息。

DDL類型劃分:

新建表

  • 寫入Hudi的實時任務,支持正常處理。

    說明

    當新創(chuàng)建的表名滿足實時任務配置的篩選規(guī)則時,則會在目標端創(chuàng)建對應的表。

  • 分庫分表類實時任務,創(chuàng)建符合規(guī)則的子表時,會把子表的數(shù)據(jù)同步到目標表中。并不會新建目標表。

  • 其他類型暫不支持正常處理,只能選擇忽略、報警、出錯。

刪除表

  • 分庫分表類實時任務,支持正常處理。當刪除符合規(guī)則的子表時,被刪除子表的數(shù)據(jù)不再同步,但不會刪除目標表。

  • 其他類型暫不支持正常處理,只能選擇忽略、報警、出錯。

新增列

  • 寫入Odps(MaxCompute)、Hologres、MySQL、Oracle、ADB for MySQL的實時任務,支持正常處理。

    說明

    在源端執(zhí)行加列時,建議在字段列表尾部追加新字段,不推薦在字段中間插入新的字段,否則可能會導致數(shù)據(jù)同步異常。

  • 其他類型暫不支持正常處理,只能選擇忽略、報警、出錯。

刪除列

暫不支持正常處理,只能選擇忽略、報警、出錯。

重命名表

暫不支持正常處理,只能選擇忽略、報警、出錯。

重命名列

暫不支持正常處理,只能選擇忽略、報警、出錯。

修改列類型

  • 寫入Hudi的實時任務,支持正常處理,詳情請參考Schema Evolution

  • 其他類型暫不支持正常處理,只能選擇忽略、報警、出錯。

清空表

  • 寫入Odps(MaxCompute)、Hologres、MySQL、Oracle、ADB for MySQL的實時任務,支持正常處理,清空目標表數(shù)據(jù)。

  • 分庫分表類實時任務,某一子表發(fā)生truncate時,刪除目標表中該子表的數(shù)據(jù)。

  • 其他類型暫不支持正常處理,只能選擇忽略、報警、出錯。

寫入目標數(shù)據(jù)源時,對源端DDL及DML操作的注意事項

  • 當源端新增列,并在目標端正常執(zhí)行后,會有以下限制:

    • 當新增DEFAULT VALUE列后,目標表該新列不會有值,會一直為NULL,后續(xù)當源端新增列中新增數(shù)據(jù)時,實時同步任務會將新增數(shù)據(jù)同步至該列。

    • 當新增VIRTUAL列后,目標表該新列不會有值,會一直為NULL,后續(xù)當源端新增列中新增數(shù)據(jù)時,實時同步任務會將新增數(shù)據(jù)同步至該列。

  • MySQL和PolarDB MySQL源端實時同步,建議您在源端新增列時采用末尾追加列方式,不要采用在中間字段加列方式。如果源端無法避免中間字段加列,需要注意以下約束條件:

    • 全增量解決方案中,在全量同步階段不要進行中間字段加列,否則會導致實時同步階段數(shù)據(jù)異常。

    • 實時同步階段,同步位點重置時間需要設置在中間字段加列DDL事件之后,否則會導致后續(xù)實時同步數(shù)據(jù)異常。

  • 如果發(fā)生數(shù)據(jù)異常,可以重新進行全量數(shù)據(jù)初始化方案(只需要將中間加列的表剔除,然后重新進行數(shù)據(jù)初始化,不需要將整個任務所有表進行全量初始化),恢復正確數(shù)據(jù)。

源表有默認值,通過數(shù)據(jù)集成創(chuàng)建的目標表,默認值、非空屬性等會保留嗎?

創(chuàng)建目標表時候,DataWorks只會保留源表的列名、數(shù)據(jù)類型、注釋等信息,不會保留源表的默認值、約束(包含非空約束、索引等)。

讀取Postgres的實時同步任務Failover了,延遲為什么很大?

這是Postgres本身數(shù)據(jù)庫的特性,如果接受不了延遲,您可以停止任務,并重新啟動任務做一次全增量數(shù)據(jù)同步。

實時同步MySQL數(shù)據(jù)常見問題

實時同步MySQL數(shù)據(jù)源的數(shù)據(jù)時,一開始讀到數(shù)據(jù),一段時間后無法讀到數(shù)據(jù),怎么處理?

  1. 可在數(shù)據(jù)庫執(zhí)行以下命令,查看當前這個數(shù)據(jù)庫實例正在寫入的binlog文件。

    show master status 
  2. 對比日志中讀到的binlog文件,在日志中搜journalName=MySQL-bin.000001,position=50,確認是否有數(shù)據(jù)寫入數(shù)據(jù)庫。

  3. 如果有數(shù)據(jù)在寫入,但是binlog卻沒有往前推進,請聯(lián)系DBA處理。

實時同步Oracle、PolarDB、MySQL常見問題

實時同步Oracle、PolarDB、MySQL任務重復報錯

  • 現(xiàn)象:實時同步任務重復報錯。

    實時同步來源為Oracle、PolarDB、MySQL數(shù)據(jù)源時,默認不支持處理源端DDL消息,當進行除新建表以外的DDL變更時,實時任務將報錯退出。斷點續(xù)傳情況下,可能存在源端未產(chǎn)生DDL消息,但同步仍然報錯的情況。

    說明

    為避免數(shù)據(jù)在某時間段內丟失或錯亂,禁止使用Rename命令將兩列的名稱互換。例如,將A列和B列的列名做了調換操作。

  • 原因:由于實時同步支持斷點續(xù)傳,為保障不丟失數(shù)據(jù),在重啟實時同步回溯位點時可能會往前回溯一部分數(shù)據(jù),此過程可能導致之前的DDL消息再次被讀取而再次報警。

  • 解決方案:

    1. 當源端產(chǎn)生DDL變更時,手動在目標端數(shù)據(jù)庫進行相應的DDL變更。

    2. 啟動實時同步任務并變更DDL消息處理策略,由出錯改為忽略

      說明

      由于斷點續(xù)傳還會訂閱到該DDL事件,為了避免任務依然失敗,所以暫時改為忽略。

    3. 停止實時同步任務并再次修改DDL消息處理策略,由忽略還原為出錯,并再次重啟實時同步任務。

報錯信息與解決方案

Kafka實時同步報錯: Startup mode for the consumer set to timestampOffset, but no begin timestamp was specified.

請重置啟動位點。實時同步報錯-kafka

MySQL實時同步報錯:Cannot replicate because the master purged required binary logs.

MySQL實時同步報錯:Cannot replicate because the master purged required binary logs. Replicate the missing transactions from elsewhere, or provision a new slave from backup.時,可能是因為在MySQL未找到消費位點的binlog記錄,請檢查您MySQL的binlog保留時間,同步任務啟動時請將該位點配置在這個時間范圍內。

說明

如果您訂閱不到binlog,可以嘗試重置位點到當前時間。

MySQL實時同步報錯:MySQLBinlogReaderException

MySQL實時同步報錯:MySQLBinlogReaderException: The database you are currently syncing is the standby database, but the current value of log_slave_updates is OFF, you need to enable the binlog log update of the standby database first. 時,可能是因為備庫沒有開啟binlog,如果您要同步備庫,需要做備庫級聯(lián)開啟binlog,可以找DBA尋求幫助。

開啟binlog的操作詳情可參見步驟3:開啟MySQL的Binlog

MySQL實時同步報錯:show master status' has an error!

MySQL實時同步報錯:show master status' has an error!,報錯詳情為Caused by: java.io.IOException: message=Access denied; you need (at least one of) the SUPER, REPLICATION CLIENT privilege(s) for this operation, with command: show master status時,可能是因為數(shù)據(jù)源沒有開啟對應數(shù)據(jù)庫的權限。

數(shù)據(jù)源配置賬號需要擁有數(shù)據(jù)庫的SELECT、REPLICATION SLAVE、REPLICATION CLIENT權限。給數(shù)據(jù)源添加數(shù)據(jù)庫對應權限的操作詳情可參見步驟2:創(chuàng)建賬號并配置權限

MySQL實時同步報錯:parse.exception.PositionNotFoundException: can't find start position forxxx

同步未找到位點,請重置位點。

MySQL實時同步報錯:數(shù)據(jù)庫位點過期,請重新選擇位點,源庫可用最早位點xxx

  • 重置位點:在啟動實時同步任務時,重置位點并選擇源庫可用的最早位點。

  • 調整Binlog保留時間:如果數(shù)據(jù)庫位點過期,可以考慮在MySQL數(shù)據(jù)庫中調整Binlog的保留時間,例如設置為7天。

  • 數(shù)據(jù)同步:如果數(shù)據(jù)已經(jīng)丟失,可以考慮重新全量同步,或者配置一個離線同步任務來手動同步丟失的數(shù)據(jù)。

實時同步Hologres報錯:permission denied for database xxx

實時同步Hologres數(shù)據(jù)時,需要在Hologres給當前操作用戶Hologres實例的admin權限(需要有創(chuàng)建schema的權限),操作詳情可參見Hologres權限模型概述

實時同步至MaxCompute報錯:ODPS-0410051:invalid credentials-accessKeyid not found

當實時同步至MaxCompute數(shù)據(jù)源且使用臨時AK進行同步時,臨時AK超過7天會自動過期,同時,將導致任務運行失敗。平臺檢測到臨時AK導致任務失敗時會自動重啟任務,如果任務配置了該類型的監(jiān)控報警,您將會收到報警信息。

實時同步至Oracle報錯:logminer doesn't init, send HeartbeatRecord

實時同步至Oracle任務在初始化找合適的同步位點時,需要加載上一份歸檔的日志,如果歸檔日志較大,則需要加載3~5分鐘才會完成初始化init階段。