1

这是关于:

com.continuent.tungsten.replicator.filter.BuildAuditTable

我尝试了 Tungsten 2.2 和 3.0

我的初始配置

./tools/tpm install alpha \
--topology=master-slave \
--master=host1 \
--replication-user=tungsten \
--replication-password=password \
--install-directory=/opt/continuent \
--members=host1,host2 \
--start

然后我尝试通过以下两种方式添加 BuildAuditTable 过滤器:

尝试1:

 ./tools/tpm update alpha \
 --property='replicator.filter.bidiSlave.auditf=com.continuent.tungsten.replicator.filter.BuildAuditTable' \
 --property='replicator.filter.bidiSlave.auditf.targetTableName=indiaresorts.audit_table' \
 --repl-svc-applier-filters=auditf  

尝试 2:

  ./tools/tpm update alpha \
 --property='replicator.filter.auditf=com.continuent.tungsten.replicator.filter.BuildAuditTable' \
 --property='replicator.filter.auditf.targetTableName=indiaresorts.audit_table' \
 --repl-svc-applier-filters=auditf  

但两次我都收到以下错误:

Error on host2 (slave)
ERROR : 
pendingExceptionMessage: Plugin class name property is missing or null:  key=replicator.filter.auditf

请让我知道如何解决这个问题。我也对审计表有疑问:它是自动创建的还是我们必须创建它以及它的架构是什么(列名等)。

等待您的善意回应。

4

1 回答 1

0

tpm install为了在static-{service_name}.properties配置文件中定义一个新属性,我必须先添加一个 .tpl(模板)文件。

  1. tungsten-replicator/filters在您提取 Tungsten tarball的位置创建一个新目录。

    从 3.0.0 开始,这也可以在用--template-search-path.

  2. 添加tungsten-replicator/filters/your_name_of_choice.tpl包含自定义属性键和默认值。

    replicator.filter.custom=com.continuent.tungsten.replicator.filter.JavaScriptFilter
    replicator.filter.custom.script=
    replicator.filter.custom.config=
    
  3. 安装:

    ./tools/tpm install alpha \
      ...
      --property='replicator.filter.custom.script=path/to/script' \
      --property='replicator.filter.custom.config=path/to/config' \
      --repl-svc-applier-filters=custom
    

您可以在其中一个节点上检查服务配置文件,path/to/installation_directory/{service_name}/tungsten/tungsten-replicator/conf/static-{service_name}.properties以查看是否合并了模板文件。

至于审计表,随便看一眼源代码似乎表明

  • 您需要自己创建表
  • 架构与传入表的架构相同

这意味着必须将复制限制为单个表,或者审计表必须包含数据库中包含的所有可能的列。

于 2014-11-28T06:51:22.710 回答