У меня проблемы с настройкой фильтра, который реплицирует только определенные таблицы - PullRequest
1 голос
/ 17 января 2012

Я пытаюсь использовать фильтры, чтобы выбрать конкретные таблицы для репликации. Я попытался запустить это с установщиком

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

и получил это исключение в состоянии трепктл после того, как мастер не был установлен должным образом:

Свойство имени класса плагина отсутствует или имеет значение null: key = replicator.filter.replicate

какой файл это файл свойств? Как мне это найти? Более того, при указании настроек фильтра как узнать, что именно поставить?

Я обнаружил, что должен изменить файл шаблона конфигурации перед настройкой в ​​соответствии с проблемой 219, но какие изменения я должен внести в tungsten-replicator-2.0.5-diff, которые позже будут исправлены для извлечения?

Выпуск 254 предполагает, что если вы хотите применить фильтр из коробки, вы можете использовать эти параметры с Tungsten-installer:

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

Однако, когда я пытаюсь использовать это для --property=replicator.filter.replicate.do, но проблема все та же:

pendingExceptionMessage: свойство имени класса плагина отсутствует или имеет значение null: ключ = replicator.filter.replicate

Ваша помощь будет принята с благодарностью.

Rumbi

Обновление: Привет Я посмотрел на этот файл: / 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 

Однако я не нашел tabledo.js (или чего-то подобного) в каталог, в котором существует tableignore.js. Могу ли я иметь расположение этого файла. Если есть альтернативный способ указания --property = replicator.filter.replicate.do = тестировать без использования этот файл .js, ваши предложения приветствуются.

Ответы [ 3 ]

1 голос
/ 26 января 2012

Загрузите последнюю версию вольфрамового репликатора.Отсутствующий файл tpl был добавлен около месяца назад.После установки отфильтрованные таблицы необходимо добавить в static-service.properties в разделе FILTERS.

0 голосов
/ 30 октября 2013
  • Найдите ваш файл конфигурации репликатора в static- YOUR_SERVICE_NAME .properties, например,
/opt/continuent/tungsten/tungsten-replicator/conf/static-mysql2vertica.properties

Убедитесь, что установлены индивидуальные свойства dbms, в частности, параметр replicator.applier.dbms:

# Batch applier basic configuration information. 
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

# Timezone and character set. 
replicator.applier.dbms.timezone=GMT+0:00
replicator.applier.dbms.charset=UTF-8

# Parameters for loading and merging via stage tables. 
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

0 голосов
/ 25 июля 2012

Я не знаю, остается ли эта проблема открытой или нет.

Я использую эту версию 2.0.6-xxx и установка службы с использованием параметров работает для меня. Я хотел бы отметить, что, как говорит параметр «--svc-extractor-filters», определяет фильтр экстрактора. Это означает, что параметры будут определять извлечение данных на главном сервере.

Если вы намереваетесь использовать его в ведомой службе, вам следует использовать «--svc-applier-filters».

Параметры
--svc-extractor-filters = копия \
--property = replicator.filter. реплицировать .Не = тест, *. Foo "

должен создать следующее в файле свойств:

Это настройка фильтра.
replicator.filter. реплицировать = com.continuent.tungsten.replicator.filter.ReplicateFilter
replicator.filter. реплицировать .IGNORE =
replicator.filter. replicate .do = test, *. foo

И вы также сможете найти replicator.stage.binlog-к-q.filters = реплицировать набор параметров.

Если вы собираетесь использовать этот фильтр в ведомом устройстве, найдите строку с:
replicator.stage.q-к-dbms.filters = mysqlsessions, PKey, bidiSlave

и измените его на
replicator.stage.q к dbms.filters = mysqlsessions, PKey, bidiSlave реплицировать

Надеюсь, это краткое описание помогло вам!

...