SymmetricDS и «регистрация

#database #replication #symmetricds

#База данных #репликация #symmetricds

Вопрос:

Я пытаюсь настроить реплицированную резервную базу данных с помощью SymmetricDS версии 2.4.

Я использую 2 файла: master.properties для основной базы данных

 db.driver=org.postgresql.Driver
db.url=jdbc:postgresql://localhost/oscaddb
db.user=oscaddb
db.password=oscaddb
registration.url=http://localhost:31415/sync
sync.url=http://localhost:31415/sync
group.id=master
external.id=10000
job.purge.period.time.ms=7200000
auto.registration=true
auto.reload=true
http.basic.auth.username=sds_user
http.basic.auth.password=sds_pass-2131njwuifn4uhsd
sync.table.prefix=sym
  

и slave.proerties для резервного копирования базы данных

 db.driver=org.postgresql.Driver
db.url=jdbc:postgresql://localhost/oscad-redundancja
db.user=oscaddb
db.password=oscaddb
registration.url=http://172.20.50.5:31415/sync
sync.url=http://localhost:31415/sync
group.id=slave
external.id=1
job.routing.period.time.ms=2000
job.push.period.time.ms=5000
job.pull.period.time.ms=5000
auto.registration=true
auto.reload=true
#http.basic.auth.username=sds_user
#http.basic.auth.password=sds_pass-2131njwuifn4uhsd
sync.table.prefix=sym
  

Я сделал все остальное, как в руководстве пользователя, но когда я запускаю master, а затем slave, я получаю ошибку «Регистрация запрещена, пока на этом узле не будет начальная загрузка» на стороне slave.

Что я сделал не так?

Ответ №1:

Если ведущий / ведомый запущены на разных компьютерах, то регистрация обоих.URL и sync.url должны содержать внешние IP-адреса, например, в вашем случае:

master.properties

 ..
registration.url=http://<external_**master**_ip_address>:31415/sync
sync.url=http://<external_**master**_ip_address>:31415/sync
  

подчиненный.свойства

 ..
registration.url=http://<external_**master**_ip_address>:31415/sync
sync.url=http://<external_**slave**_ip_address>:31415/sync
  

Вам также необходимо соответствующим образом изменить таблицу *sym_node * в обеих базах данных master / slave.

Надеюсь, это поможет.