LINUX.ORG.RU

Помочь за деньги с ошибкой londiste ERROR Node 'slave_IP' already exists

 


0

1

Писал в нескольких местах. Пока никто не помог. Поэтому за помощь готов заплатить. Заказ размещен на Фрилансим https://freelansim.ru/tasks/184411

Тут скопирую технические данные и вопрос

я использовал londiste для логической репликации между PostgreSQL 9.3 и 9.5 Через некоторое время я снова начал использовать снова londiste.

Но я не удалил узел после использования londiste. List package

 yum list skytools*
Installed Packages
skytools-95.x86_64           3.2.6-1.rhel7
skytools-95-modules.x86_64   3.2.6-1.rhel7

Config master
cat /etc/skytools/londiste-master.ini
[londiste3]
job_name = appqueue
db = dbname=my_database host=master_IP
queue_name = appqueue
logfile = /var/log/skytools/master.log
pidfile = /var/run/skytools/master.pid

Config Slave

cat /etc/skytools/londiste-slave.ini 
[londiste3]
job_name = appqueue
db = dbname=my_database
queue_name = appqueue
logfile = /var/log/skytools/slave.log
pidfile = /var/run/skytools/slave.pid

Install scheme

qadmin -h master_IP -U postgres -d my_database -c "install londiste"
INSTALL

Copy DB

pg_dump -h master_IP -s -C -U postgres my_database |psql -U postgres

create-root master_IP

su postgres -c "londiste3 /etc/skytools/londiste-master.ini create-root master_IP 'dbname=my_database host=master_IP'"
2017-10-27 08:36:16,250 20249 INFO plpgsql is installed
2017-10-27 08:36:16,250 20249 INFO pgq is installed
2017-10-27 08:36:16,252 20249 INFO pgq.get_batch_cursor is installed
2017-10-27 08:36:16,252 20249 INFO pgq_ext is installed
2017-10-27 08:36:16,253 20249 INFO pgq_node is installed
2017-10-27 08:36:16,254 20249 INFO londiste is installed
2017-10-27 08:36:16,254 20249 INFO londiste.global_add_table is installed
2017-10-27 08:36:16,262 20249 INFO Node is already initialized as root

create-leaf slave_IP

su postgres -c "londiste3 /etc/skytools/londiste-slave.ini create-leaf slave_IP dbname=my_database --provider='host=master_IP dbname=my_database'"
2017-10-27 08:37:10,984 20414 WARNING No host= in public connect string, bad idea
2017-10-27 08:37:10,991 20414 INFO plpgsql is installed
2017-10-27 08:37:10,992 20414 INFO pgq is installed
2017-10-27 08:37:10,993 20414 INFO pgq.get_batch_cursor is installed
2017-10-27 08:37:10,993 20414 INFO pgq_ext is installed
2017-10-27 08:37:10,994 20414 INFO pgq_node is installed
2017-10-27 08:37:10,994 20414 INFO londiste is installed
2017-10-27 08:37:10,994 20414 INFO londiste.global_add_table is installed
2017-10-27 08:37:11,006 20414 INFO Initializing node
2017-10-27 08:37:11,022 20414 ERROR Node 'slave_IP' already exists

Run londiste3 master and slave worker

su postgres -c "londiste3 -d /etc/skytools/londiste-slave.ini worker"
Ignoring stale pidfile

su postgres -c "londiste3 -d /etc/skytools/londiste-master.ini worker"
Ignoring stale pidfile

Run pgqd

pgqd -d /etc/skytools/pgqd.ini
2017-10-27 08:38:31.638 20659 LOG Starting pgqd 3.2.6

Master status

su postgres -c "londiste3 /etc/skytools/londiste-master.ini status"
Queue: appqueue   Local node: master_IP

None (None)
                              Tables: 0/0/0
                              Lag: (n/a), NOT UPTODATE
master_IP (root)
                              Tables: 0/0/0
                              Lag: 17h56m7s, Tick: 1</code>

Try Delete node:
su postgres -c "londiste3 /etc/skytools/londiste-slave.ini drop-node slave_IP"
2017-10-27 09:20:50,945 29464 ERROR get_node_database: cannot resolve slave_IP

su postgres -c "londiste3 /etc/skytools/londiste-slave.ini drop-node slave_IP dbname=my_database"
2017-10-27 09:21:17,859 29543 ERROR command 'drop-node' got 2 args, but expects 1: node_name

su postgres -c "londiste3 /etc/skytools/londiste-master.ini drop-node master_IP"
2017-10-27 09:24:32,038 30190 ERROR node still has subscribers


Как правильно исправить эту ошибку?

Дропнуть все таблицы, созданные этим londiste'ом, переустановить и настроить по новой.

MyLittleLoli ★★★ ()
Ответ на: комментарий от chemtech

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

MyLittleLoli ★★★ ()

Тебе, по-хорошему, надо удалить подписку и пересоздать ее с нуля. Простой способ, если у тебя нет каскадной репликации и ничего больше не завязано на лондист, то просто снести схемы
# londiste
# pgq*
сделать это надо и на мастере и на слейве. После этого можно настроить всё заново.

Если сносить все схемы лондиста нельзя, то надо точно понять, что ты и зачем хочешь сделать.

v9lij ★★★★ ()

Подумать нужно. Что-то пока никак не соображу.

rht ★★★★★ ()
Последнее исправление: rht (всего исправлений: 1)
Ограничение на отправку комментариев: только для зарегистрированных пользователей, score>=0