国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

跨IDC同步工具常見問題解析

IT那活兒 / 3457人閱讀
跨IDC同步工具常見問題解析
一. 數(shù)據(jù)一致性問題

  • 源庫中有很多事務(wù),組件是否按照事務(wù)同步,增量同步會(huì)按照事務(wù)來解析binlog,將事務(wù)都放在同一個(gè)數(shù)據(jù)批次中,一起入庫,遇到極大的事務(wù)(例如某個(gè)大事務(wù)產(chǎn)生10G的binlog文件)會(huì)做拆分,但盡量保證事務(wù)屬于同一批次。
  • 增量全量同步能否一起開,不建議一起開啟,有小概率產(chǎn)生數(shù)據(jù)一致性問題,例如ABC三個(gè)先后間隔很短的時(shí)刻,全量在A時(shí)刻完成了數(shù)據(jù)抽取,B時(shí)刻數(shù)據(jù)有更新且立即被增量同步到了目標(biāo)端,C時(shí)刻全量完成了入庫,則B時(shí)刻更新的數(shù)據(jù)將會(huì)丟失。

  • 保證數(shù)據(jù)一致性嚴(yán)格的操作順序:暫停被同步表的業(yè)務(wù),不再產(chǎn)生與被同步表相關(guān)的binlog;等待增量同步通道追平;停止增量同步,開啟全量同步;全量同步完成后繼續(xù)開啟增量同步。

  • 常用操作順序:記錄當(dāng)前增量同步的位點(diǎn)信息;停止增量同步,開啟全量同步;全量同步完成后從之前記錄 的位點(diǎn)信息繼續(xù)進(jìn)行增量同步(最終一致性)。

  • 特別注意問題:由于分布式數(shù)據(jù)庫的特性,udal禁止對(duì)分片鍵做update操作;部分業(yè)務(wù)為了繞過這種限制,設(shè)計(jì)對(duì)分片鍵的update實(shí)際上由兩部分組成:一個(gè)片中的delete語句+另一個(gè)片中的insert語句,當(dāng)同步場景為udal->oracle時(shí)由于時(shí)序問題可能會(huì)導(dǎo)致數(shù)據(jù)不一致;解決方式:

1) 避免出現(xiàn)update分片鍵的情況

2) 將分片鍵和原主鍵一起作為新的聯(lián)合主鍵

  (需要更改業(yè)務(wù))

3) 使用自增的序列作為主鍵


二. 同步速度參數(shù)優(yōu)化

全量同步速度不理想,建議參數(shù)和優(yōu)化:同步速度空表大于有記錄的表,無索引的表大于有索引的表,目標(biāo)表索引越多,速度越慢,建議索引在同步完成后重建。

#全量批次大小

syncall.manager.batchSize = 200

#jdbc,batch入庫一次處理的數(shù)據(jù)量

syncall.manager.batchOfInsertUpdate = 10000

# 同步表線程池大小(并發(fā)核對(duì)目標(biāo)表的個(gè)數(shù))

syncall.manager.taskpoolsize = 1

#初始化table信息線程池大小

syncall.manager.initpoolsize = 10

# 批次任務(wù)線程池大小(并發(fā)批次任務(wù)個(gè)數(shù))大于或等于querypoolsize

syncall.manager.jobpoolsize = 40

# 抽取數(shù)據(jù)線程池大小(抽取并發(fā)度控制)小于或等于jobpoolsize

syncall.manager.querypoolsize = 20


# 初始化時(shí)建立物理連接的個(gè)數(shù)

druid.initialSize=10

# 最小連接池?cái)?shù)量

druid.minIdle=6

# 最大連接池?cái)?shù)量

druid.maxActive=500

# 獲取連接時(shí)最大等待時(shí)間,單位毫秒。

druid.maxWait=60000

# 申請(qǐng)連接時(shí)檢測連接是否有效

druid.test.OnBorrow=true



三. 跨IDC同步工具常見問題及解決

問題1:Access denied for user (udal--udal)。

報(bào)錯(cuò)如下:

10:17:07.146 [Druid-ConnectionPool-Create-1846815119] ERROR c.alibaba.druid.pool.DruidDataSource -

create connection SQLException, url: jdbc:mysql://133.0.xxx.xxx:xxx/stt_iss_161, errorCode 1044,

state 42000

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user sla@% to database stt_iss_161


報(bào)錯(cuò)原因:

賬號(hào)或密碼不對(duì),由于源端和目標(biāo)端的分片數(shù)據(jù)庫密碼不一樣,在初始化時(shí),兩端的密碼賬號(hào)會(huì)被程序默認(rèn)設(shè)成一致。

解決辦法:

需要在初始化完成后,將數(shù)據(jù)源配置 和 增量管理菜單修改為各自的賬號(hào)密碼。


問題2:部署pg到kafka的時(shí)候時(shí)間相差8小時(shí)。

異常現(xiàn)象:

PG端時(shí)間類型的字段,帶default current_timestamp 時(shí),生成的數(shù)據(jù)。投遞到目標(biāo)kafka時(shí)時(shí)間會(huì)增加8小時(shí)。

異常原因:

pg數(shù)據(jù)庫中的表字段類型為`TIMESTAMP WITHOUT TIME ZONE`,未使用時(shí)區(qū),跨idc工具投遞中會(huì)默認(rèn)為格林威治時(shí)間。

解決辦法:

將pg數(shù)據(jù)庫中的表字段類型改為`TIMESTAMP WITH TIME ZONE`,使用時(shí)區(qū)。


問題3:node節(jié)點(diǎn)無法自動(dòng)創(chuàng)建

異常原因及解決辦法:

node機(jī)器的用戶密碼過期導(dǎo)致,密碼重置后正常。


問題4:teledb同步到kafka  show master status has an error!

異常報(bào)錯(cuò):

pid:70 nid:37 exception:canal:canal_133.0.148.26_8922_5:com.alibaba.otter.canal.parse.exception.CanalParseException: command : show master status has an error! Caused by:

java.io.IOException: ErrorPacket [errorNumber=1227, fieldCount=-1, message=Access denied; you need (at least one of) the SUPER, REPLICATION CLIENT privilege(s) for this operation, sqlState=42000, sqlStateMarker=#] with command: show master status at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:194) at java.lang.Thread.run(Thread.java:748)


解決辦法:

為idc用戶賦予權(quán)限

GRANT super,REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO idc@%;


問題5:全量同步性能差

異常現(xiàn)象:

全量同步,表包含大字段等類型,每條記錄的大小遠(yuǎn)超普通表,出現(xiàn)同步性能差/無法同步現(xiàn)象,例如全量日志中取樣數(shù)據(jù)大小日志如下:<<<<<< avg one record use [451.274 KB] space ,one batch data use [881.395 MB] space, memory limit is [10 GB] , set data queue size to [11] >>>>>>

調(diào)整方法:

調(diào)整全量參數(shù),降低每批次數(shù)據(jù)的大小和數(shù)據(jù)緩存隊(duì)列大小

syncall.manager.batchSize=50

syncall.manager.jobpoolsize=100

syncall.stream.dataQueue=100

使用優(yōu)化的jvm啟動(dòng)腳本,例如launch_performance.sh腳本來啟動(dòng)manager,分配足夠多的內(nèi)存放到manager目錄下  chmod +x launch_performance.sh  然后指定內(nèi)存啟動(dòng),例如  sh launch_performance.sh memory 60g 60g。


END


更多精彩干貨分享

點(diǎn)擊下方名片關(guān)注

IT那活兒

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/129887.html

相關(guān)文章

  • 數(shù)據(jù)庫的 Consistency 與 Leaky Abstraction

    摘要:最近在學(xué)習(xí)各大互聯(lián)網(wǎng)公司是如何處理數(shù)據(jù)一致性的。目前已知的有這么幾種數(shù)據(jù)庫做到情況下的強(qiáng)一致性淘寶淘寶頂級(jí)科學(xué)家陽振坤微博號(hào)阿里正祥,發(fā)出一則消息。然后因?yàn)閿?shù)據(jù)庫是的,內(nèi)部把改動(dòng)到了北美,君就可以看到消息了。 最近在學(xué)習(xí)各大互聯(lián)網(wǎng)公司是如何處理數(shù)據(jù)一致性的。因?yàn)橹皬氖碌牟皇沁@個(gè)方向的工作,所以并非什么經(jīng)驗(yàn)之談,只是一些學(xué)習(xí)筆記。所有資料來自互聯(lián)網(wǎng)。 Consistent => Ev...

    Wildcard 評(píng)論0 收藏0
  • 數(shù)據(jù)庫的 Consistency 與 Leaky Abstraction

    摘要:最近在學(xué)習(xí)各大互聯(lián)網(wǎng)公司是如何處理數(shù)據(jù)一致性的。目前已知的有這么幾種數(shù)據(jù)庫做到情況下的強(qiáng)一致性淘寶淘寶頂級(jí)科學(xué)家陽振坤微博號(hào)阿里正祥,發(fā)出一則消息。然后因?yàn)閿?shù)據(jù)庫是的,內(nèi)部把改動(dòng)到了北美,君就可以看到消息了。 最近在學(xué)習(xí)各大互聯(lián)網(wǎng)公司是如何處理數(shù)據(jù)一致性的。因?yàn)橹皬氖碌牟皇沁@個(gè)方向的工作,所以并非什么經(jīng)驗(yàn)之談,只是一些學(xué)習(xí)筆記。所有資料來自互聯(lián)網(wǎng)。 Consistent => Ev...

    wanghui 評(píng)論0 收藏0
  • 云遷移過程中的數(shù)據(jù)同步及一致性校驗(yàn)實(shí)踐(二)

    摘要:另外對(duì)于需要盡量減少應(yīng)用重啟的系統(tǒng)也可以優(yōu)先考慮這種方式來保障數(shù)據(jù)一致性。只需要保證這三類程序都是停止的,那么就可以保證沒有同步服務(wù)以外的程序?qū)?shù)據(jù)進(jìn)行修改,從而保障數(shù)據(jù)一致性。在《跨云遷移過程中的數(shù)據(jù)同步及一致性校驗(yàn)實(shí)踐(一)》中我們主要介紹了跨云遷移中數(shù)據(jù)同步階段的存儲(chǔ)組件MySQL、文件存儲(chǔ)和對(duì)象存儲(chǔ)的數(shù)據(jù)遷移過程,本文將重點(diǎn)圍繞跨云遷移的數(shù)據(jù)規(guī)整階段(清理測試時(shí)產(chǎn)生的臟數(shù)據(jù))和數(shù)據(jù)割...

    Tecode 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<