CanalとOtterに関する問題の整理
2535 ワード
1、CanalEventStoreインタフェースを保存し、主にput/get/ack/rollbackの関連インタフェースを含む.put/get操作は生産者/消費者モードを構成し、storeごとにストレージサイズの設計があり、ストレージがいっぱいになり、put操作はgetの取得を待つデータをブロックするので、メモリサイズなどのストレージを無制限に占有しない.A、現在EventStoreは主にmemoryモードを実現しており、メモリサイズとメモリ記録数によるメモリサイズ制限をサポートしている.B、その後、ローカルファイルに基づくストレージモードを開発することができる;C、ファイルストレージと内在ストレージに基づいて、mixedモードを開発し、2段階のキューを作り、メモリbufferに空きがある場合、ファイルのデータを内在bufferに詩編する.重要:mixedモードに基づく実現後、cananlは真の消費/サブスクリプションを完了するモデル(binlogデータを1部取り、複数のクライアント消費を提供し、消費が速くて遅く、それぞれ消費部位を保持する)2、異常:a、pid:2 nid:3 exception:setl:load miss data with keys:[MemoryPipeKey[i dentity=Identity[channelId=2,pipelineId=2,processId=144281213]、time=1467701523657,dataType=DB_BATCH]]b、pid:3 nid:4 exception:mainstem:pid:3 canal elapsed 174050 seconds no data解答:異常から見るとGCによる一時メモリオブジェクトデータの廃棄、同期タスクの並列量の低減3、機械室間同期、遅延の増大:A、メインライブラリがネットワークセグメントノードで同期する;B、伝送帯域幅にも関係がある;4、otter同期報:table is full解決方案:Canal構成中の受信BufferSizeと送信BufferSizeの値調整小点;5、otterエラーメッセージ:ロックwait timeout exceeded;try restarting transactionがinsertまたはUpdate操作を実行するとタイムアウト6,comが発生する.alibaba.otter.canal.parse.exception.CanalParseException: parse row data failed.ローの読み込みに失敗しました.properties構成canal.instance.filter.table.error=falseをtrueに変更すると、このようなテーブル構造の不一致7、送信メール設定(送信者)*manager email user config otterは無視できる.manager.monitor.email.host = smtp.163.com otter.manager.monitor.email.username =admin otter.manager.monitor.email.password =XXX otter.manager.monitor.email.stmp.port=465~8、メモリオーバーフロー修正otter/node/startup.sh,調整JAVA_OPTS修正前:if[-n"$str";then JAVA_OPTS="-server -Xms2048m -Xmx3072m -Xmn1024m -XX:SurvivorRatio=2 -XX:PermSize=96m -XX:MaxPermSize=256m -Xss256k -XX:-UseAdaptiveSizePolicy -XX:MaxTenuringThreshold=15 -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError"else JAVA_OPTS="-server -Xms1024m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:MaxPermSize=128m "fi
:
if [ -n "$str" ]; then
JAVA_OPTS="-server -Xms8g -Xmx8g -Xmn3g -XX:SurvivorRatio=2 -XX:PermSize=512m -XX:MaxPermSize=512m -Xss256k -XX:-UseAdaptiveSizePolicy -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError"
else
JAVA_OPTS="-server -Xms8g -Xmx8g -Xmn3g -XX:NewSize=512m -XX:MaxNewSize=512m -XX:MaxPermSize=512m "
fi