このトピックでは、AnalyticDB for MySQL V3.0へのリアルタイム同期に関するよくある質問への回答を提供します。
データソースのネットワーク接続テストが失敗した場合はどうすればよいですか?
問題の説明:DataWorksにデータソースを追加すると、データソースのネットワーク接続テストが失敗します。
解決策:データソースのネットワーク接続構成を確認します。詳細については、「ネットワーク接続ソリューション」をご参照ください。
リアルタイム同期ノードで次のエラーメッセージが表示されます。「com.alibaba.otter.canal.parse.exception.PositionNotFoundException: can't find start position for XXX。」どうすればよいですか?
問題の説明:リアルタイム同期ノードが実行に失敗し、
com.alibaba.otter.canal.parse.exception.PositionNotFoundException: can't find start position for XXX
というエラーメッセージが表示されます。原因:PolarDB データソースでバイナリロギング機能が無効になっています。
解決策:PolarDB データソースのバイナリロギング機能を有効にし、1 つ以上のデータレコードを変更し、リアルタイム同期ノードの開始オフセットを現在の時刻に変更します。 PolarDB データソースのバイナリロギング機能を有効にする方法の詳細については、「バイナリロギングを有効にする」をご参照ください。
リアルタイム同期ノードで次のエラーメッセージが表示されます。「com.alibaba.otter.canal.parse.exception.CanalParseException: command : 'show master status' has an error! pls check. you need (at least one of) the SUPER,REPLICATION CLIENT privilege(s) for this operation。」どうすればよいですか?
問題の説明:リアルタイム同期ノードが実行に失敗し、
com.alibaba.otter.canal.parse.exception.CanalParseException: command : 'show master status' has an error! pls check. you need (at least one of) the SUPER,REPLICATION CLIENT privilege(s) for this operation
というエラーメッセージが表示されます。原因:データの同期に使用されるアカウントに PolarDB データソースへのアクセスが許可されていないか、接続されている PolarDB データベースが PolarDB Writer ノードにデプロイされていません。
解決策:「データベースアカウントを作成および管理する」を参照して、アカウントに PolarDB データソースへのアクセスを許可するか、接続されている PolarDB データベースが PolarDB Writer ノードにデプロイされているかどうかを確認します。リアルタイム同期ノードが実行されている場合、システムは PolarDB クラスタの PolarDB Reader ノードからデータをキャプチャできません。
リアルタイム同期ノードで次のエラーメッセージが表示されます。「com.alibaba.datax.plugin.reader.mysqlbinlogreader.MysqlBinlogReaderException: The mysql server does not enable the binlog write function. Please enable the mysql binlog write function first。」どうすればよいですか?
問題の説明:リアルタイム同期ノードが実行に失敗し、
com.alibaba.datax.plugin.reader.mysqlbinlogreader.MysqlBinlogReaderException: The mysql server does not enable the binlog write function. Please enable the mysql binlog write function first
というエラーメッセージが表示されます。原因:PolarDB データソースに loose_polar_log_bin パラメータが指定されていません。
解決策:loose_polar_log_bin パラメータを指定します。詳細については、「クラスタとノードのパラメータを構成する」をご参照ください。
リアルタイム同期ノードで次のエラーメッセージが表示されます。MongoDBReader$Task - operation exceeded time limitcom.mongodb.MongoExecutionTimeoutException: operation exceeded time limit。どうすればよいですか?
問題の説明:リアルタイム同期ノードを実行すると、エラーが発生し、
MongoDBReader$Task - operation exceeded time limitcom.mongodb.MongoExecutionTimeoutException: operation exceeded time limit
というエラーメッセージが表示されます。原因:同期するデータ量が非常に大きいです。
解決策:
ノードの並列スレッド数を増やします。
BatcSsize パラメータの値を減らします。
Reader プラグインの構成に
cursorTimeoutInMs
パラメータを追加し、このパラメータに大きな値 ( 3600000s など) を指定します。