1

フィルタを使用して、複製する特定のテーブルを選択しようとしています。インストーラーでこれを実行してみました

./tools/tungsten-installer --master-slave -a \
  ...
  --svc-extractor-filters=replicate \
--property=replicator.filter.replicate.do=test,*.foo"

マスターが正しくインストールされなかった後、trepctlステータスでこの例外が発生しました。

プラグインクラス名のプロパティがないか、nullです:key = replyator.filter.replicate

このプロパティファイルはどのファイルですか?どうすれば見つけられますか?さらに、フィルターの設定を指定する際に、正確に何を配置するかをどのように知ることができますか?

Issue 219に従って、構成の前に構成テンプレートファイルを変更することになっていることを発見しましたが、後で抽出にパッチが適用されるタングステン-replicator-2.0.5-diffにどのような変更を加える必要がありますか?

問題254は、箱から出してフィルターを適用したい場合は、タングステンインストーラーで次のオプションを使用できることを示唆しています。

-a --property=replicator.filter.Replicate.ignoreFilter=schema_x.tablex,schema_x,tabley,schema_y,tablez
 --svc-thl-filter=Replicate 

ただし、これをに使用しようとすると--property=replicator.filter.replicate.do、問題は同じです。

保留中の例外メッセージ:プラグインクラス名のプロパティがないか、nullです:key = replyator.filter.replicate

どうぞよろしくお願いいたします。

ルンビ

更新:こんにちは私はこのファイルを見ました:/root/tungsten/tungsten-replicator/samples/conf/filters/default/tableignore.tpl。このサンプルによると、static-SERVICE_NAME.propertiesファイルは次のようなものになるはずです。これが構成されています。これが正しい構文であるかどうかを確認してください。

replicator.filter.tabledo=com.continuent.tungsten.replicator.filter.JavaScr iptFilter 
replicator.filter.tabledo.script=${replicator.home.dir}/samples/ 
scripts/javascript-advanced/tabledo.js 
replicator.filter.tabledo.tables=foo(database).bar(table) 
replicator.stage.thl-to-dbms.filters=tabledo 

ただし、tableignore.jsが存在するディレクトリにtabledo.js(または同様のもの)が見つかりませんでした。このファイルの場所を教えてください。この.jsファイルを使用せずに--property=replyator.filter.replicate.do = testを指定する別の方法がある場合は、提案を歓迎します。

4

3 に答える 3

1

タングステンレプリケーターの最新バージョンをダウンロードします。不足しているtplファイルは約1か月前に追加されました。インストール後、フィルタリングされたテーブルは、セクションFILTERSの下のstatic-service.propertiesに追加する必要があります。

于 2012-01-26T10:47:17.900 に答える
0
  • static- YOUR_SERVICE_NAME .propertiesでレプリケーター構成ファイルを見つけます。例:
/opt/continuent/tungsten/tungsten-replicator/conf/static-mysql2vertica.properties

個々のdbmsプロパティ、特に設定replicator.applier.dbmsが設定されていることを確認してください。

#バッチアプライヤーの基本構成情報。
Replicator.applier.dbms = com.continuent.tungsten.replicator.applier.batch.SimpleBatchApplier
Replicator.applier.dbms.url = jdbc:mysql:thin:// $ {replicator.global.db.host}:$ {replicator.global.db.port} /tungsten_${service.name}?createDB=true
Replicator.applier.dbms.driver = org.drizzle.jdbc.DrizzleDriver
Replicator.applier.dbms.user = $ {replicator.global.db.user}
Replicator.applier.dbms.password = $ {replicator.global.db.password}
Replicator.applier.dbms.startupScript = $ {replicator.home.dir}/samples/scripts/batch/mysql-connect.sql

#タイムゾーンと文字セット。
Replicator.applier.dbms.timezone = GMT + 0:00
Replicator.applier.dbms.charset = UTF-8

#ステージテーブルを介してロードおよびマージするためのパラメータ。
Replicator.applier.dbms.stageTablePrefix = stage_xxx_
Replicator.applier.dbms.stageDirectory = / tmp / staging
Replicator.applier.dbms.stageLoadScript = $ {replicator.home.dir}/samples/scripts/batch/mysql-load.sql
Replicator.applier.dbms.stageMergeScript = $ {replicator.home.dir}/samples/scripts/batch/mysql-merge.sql
Replicator.applier.dbms.cleanUpFiles = false

複製するデータベースによっては、一部の行を省略/変更する必要がある場合があります。

詳細については、 https ://code.google.com/p/tungsten-replicator/wiki/Replicator_Batch_Loadingを参照してください。

于 2013-10-30T17:19:18.963 に答える
-1

この問題がまだ開いているかどうかはわかりません。

私はこのバージョン2.0.6-xxxを使用しており、パラメーターを使用してサービスをインストールするとうまくいきます。パラメータが言うように、「-svc-extractor-filters」はエクストラクタフィルタを定義することを指摘したいと思います。パラメータがマスターサーバーでのデータの抽出をガイドすることを意味します。

スレーブサービスで使用する場合は、「-svc-applier-filters」を使用する必要があります。

パラメータ
--svc-extractor-filters=Replica \ --property=replicator.filter .do = test、*。foo"を複製します

プロパティファイルに以下を作成することになっています。

これがフィルターの設定です。
Replicator.filter。レプリケート=com.continuent.tungsten.replicator.filter.ReplicateFilterreplicator.filter
。.ignore= replicator.filter
を複製します。.do = test、*。fooを複製します

また、replicator.stage.binlog-to-q.filters=replicateパラメーターセットも見つけることができるはずです。

スレーブでこのフィルターを使用する場合は、
replicator.stage.q-to-dbms.filters = mysqlsessions、pkey、bidiSlaveの行を見つけてください。

そしてそれを
replicator.stage.q-to-dbms.filters=mysqlsessions、pkey、bidiSlave、replicateとして変更します

この簡単な説明がお役に立てば幸いです。

于 2012-07-25T12:57:21.577 に答える