Как реализовать фильтр BuildAuditTable вольфрамового репликатора

Это касается:

com.continuent.tungsten.replicator.filter.BuildAuditTable

Я пробовал оба вольфрама 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

Пожалуйста, дайте мне знать, как я могу решить эту проблему. Также у меня возникли сомнения по поводу таблицы аудита: создается ли она автоматически или мы должны ее создать, и какова будет ее схема (имена столбцов и т. Д.).

Жду вашего любезного ответа.

1 ответ

Мне пришлось добавить файл.tpl (шаблон) до tpm install для того, чтобы определить новое свойство в static-{service_name}.properties конфигурационный файл.

  1. Создать новый каталог на tungsten-replicator/filters где вы извлекли вольфрамовый тарбол.

    Начиная с 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 на одном из узлов, чтобы увидеть, был ли включен файл шаблона.

Что касается таблицы аудита, случайный взгляд на исходный код, кажется, указывает на то, что

  • Вам нужно создать таблицу самостоятельно
  • Схема такая же, как и у входящей таблицы

Это означает, что либо репликация должна быть ограничена одной таблицей, либо таблица аудита должна содержать все возможные столбцы, содержащиеся в базе данных.

Другие вопросы по тегам