如何实现钨复制器BuildAuditTable过滤器

时间:2014-11-18 09:16:23

标签: database-replication auditing tungsten-replicator

这是关于:

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

请让我知道如何解决这个问题。此外,我对审计表有疑问:它是自动创建还是我们必须创建它以及它的架构(列名e.t.c。)。

等待你的回应。

1 个答案:

答案 0 :(得分:0)

我必须在tpm install之前添加.tpl(模板)文件,以便在static-{service_name}.properties配置文件中定义新属性。

  1. tungsten-replicator/filters创建一个新目录,在那里您解压缩了Tungsten tarball。

    从3.0.0开始,this can also be in the directory specified with --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
    
  4. 您可以检查其中一个节点上的path/to/installation_directory/{service_name}/tungsten/tungsten-replicator/conf/static-{service_name}.properties处的服务配置文件,以查看该模板文件是否已合并。

    至于审计表,偶然看一眼source code似乎表明

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

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