Проблемы при репликации

167 views
Skip to first unread message

azah...@fix.ru

unread,
Aug 14, 2015, 6:10:51 AM8/14/15
to tarantool-ru
Добрый день , столкнулся с проблемой при создании репликации , при попытке подключить слейв сервер - вылетает с ошибкой :

2015-08-13 16:23:27.686 [28470] main/103/replica/192.168.0.2:3301 xrow.cc:257 E> ER_UNKNOWN_SERVER: Server 340678a0-eb7e-4602-9e85-a8c6af1f2361 is not reg
istered with the cluster

конфиг на слейве :
box.cfg{listen=PORT, replication_source='admin:PASSWORD@MASTER_IP:MASTER_PORT', slab_alloc_arena=12}

Бд занимает примерно 3-4 Гб, нашёл описание ошибки на гитхабе https://github.com/tarantool/tarantool/issues/850 , там написано :
If cluster server id table is full, the master is silent and the replica dies with an error
Подскажите пожалуйста как посмотреть содержимое этой "server id table" и каким образом её можно очистить ?

Так же пробовал развернуть снапшот этого сервера на другом серваке (с аналогичными хар-ками) но попытка подключить слейв вылетала уже с другой ошибкой :
2015-08-13 18:52:41.724 [16467] main/101/tarantoolctl xrow.cc:257 E> ER_REPLICA_MAX: Replica count limit reached: 16
2015-08-13 18:52:41.724 [16467] main/101/tarantoolctl F> can't initialize storage: Replica count limit reached: 16
2015-08-13 18:52:41.724 [16467] main/101/tarantoolctl F> can't initialize storage: Replica count limit reached: 16
Возможно кто-то уже с подобным сталкивался ...


Заранее благодарен 

Konstantin Osipov

unread,
Aug 14, 2015, 6:47:02 AM8/14/15
to tarant...@googlegroups.com
* azah...@fix.ru <azah...@fix.ru> [15/08/14 13:44]:
> 2015-08-13 16:23:27.686 [28470] main/103/replica/192.168.0.2:3301
> xrow.cc:257 E> ER_UNKNOWN_SERVER: Server
> 340678a0-eb7e-4602-9e85-a8c6af1f2361 is not reg
> istered with the cluster
>
> конфиг на слейве :
> box.cfg{listen=PORT,
> replication_source='admin:PASSWORD@MASTER_IP:MASTER_PORT',
> slab_alloc_arena=12}

Удалите
>
> Бд занимает примерно 3-4 Гб, нашёл описание ошибки на
> гитхабе https://github.com/tarantool/tarantool/issues/850 , там написано :
>
> > If cluster server id table is full, the master is silent and the replica
> > dies with an error
>
> Подскажите пожалуйста как посмотреть содержимое этой "server id table" и
> каким образом её можно очистить ?

box.space._cluster:select{}

Удалите мёртвые id.


> Так же пробовал развернуть снапшот этого сервера на другом серваке (с
> аналогичными хар-ками) но попытка подключить слейв вылетала уже с другой
> ошибкой :
>
> > 2015-08-13 18:52:41.724 [16467] main/101/tarantoolctl xrow.cc:257 E>
> >> ER_REPLICA_MAX: Replica count limit reached: 16
> >
> > 2015-08-13 18:52:41.724 [16467] main/101/tarantoolctl F> can't initialize
> >> storage: Replica count limit reached: 16
> >
> > 2015-08-13 18:52:41.724 [16467] main/101/tarantoolctl F> can't initialize
> >> storage: Replica count limit reached: 16

Это оно.

> > Возможно кто-то уже с подобным сталкивался ...

Удалите мёртвые реплики из таблички _cluster на мастере.

Понять что реплики мёртвые можено по box.info.vclock

--
http://tarantool.org - a NoSQL database in a Lua script

azah...@fix.ru

unread,
Aug 14, 2015, 9:05:18 AM8/14/15
to tarantool-ru
Константин благодарю Вас за помощь, сейчас буду пробовать

пятница, 14 августа 2015 г., 13:10:51 UTC+3 пользователь azah...@fix.ru написал:

Alex Shreder

unread,
Nov 25, 2015, 7:32:16 AM11/25/15
to tarantool-ru


пятница, 14 августа 2015 г., 13:47:02 UTC+3 пользователь Konstantin Osipov написал:
Добрый день!

По Вашему совету удалил неиспользуемые реплики из таблички, но в записи с 2 по 7  не пишутся uuid новых реплик, а в записи 14 - 15 пишутся, подскажите пожалуйста что можно сделать


unix/:/var/run/tarantool/infp.control> box.info()

---

- server:

    lsn: 305733937948

    ro: false

    uuid: 4159c622-c04f-4459-ac00-1bcd37f5beea

    id: 13

  pid: 28071

  version: 1.6.5-295-gb0eea2c

  snapshot_pid: 0

  status: running

  vclock:

  - 8405468

  - null

  - null

  - null

  - null

  - null

  - 0

  - 0

  - 0

  - 7185134

  - 0

  - 5557425378

  - 305733937948

  replication:

    status: off

  uptime: 3445298

...


unix/:/var/run/tarantool/infp.control> box.space._cluster:select{}

---

- - [1, '182bbe7f-5f4c-4ee0-a9b4-86dfe7a3118d']

  - [7, '489d67bd-785c-4e05-bee3-9e7d90652e9a']

  - [8, 'c59b954d-d3fd-4474-a5df-ffb4572e6533']

  - [9, '9c08ba18-0b26-4bfd-9185-587cffcff57c']

  - [10, '0a7392b3-5d20-4731-8de0-bc34c8c80c33']

  - [11, '1ce3a240-1bc4-4e52-a33c-5a529ad01836']

  - [12, '55502699-6be2-4167-86c0-7aed03c986ad']

  - [13, '4159c622-c04f-4459-ac00-1bcd37f5beea']

...

 

Konstantin Osipov

unread,
Nov 25, 2015, 7:46:38 AM11/25/15
to tarant...@googlegroups.com
* Alex Shreder <alex.s...@gmail.com> [15/11/25 15:34]:

Мы можем запатчить свой код чтобы он учитывал дырки при поиске
новых идентификаторов, больше никак.

Если реально нужно, открывайте тикет.

Alex Shreder

unread,
Nov 25, 2015, 8:32:37 AM11/25/15
to tarantool-ru
Почему там получились дырки после удаления записей?
т.е. мы или софт не можем сами вписать в 2-7 uuid реплик? Это баг? Или это фича? 

Мне кажется, что тут не должен стоять вопрос о "реально нужно", потому что это как раз одна из тех вещей которая 100% должна работать в автоматическом режиме.

среда, 25 ноября 2015 г., 15:46:38 UTC+3 пользователь Konstantin Osipov написал:

Nick Zavaritsky

unread,
Nov 25, 2015, 11:15:25 AM11/25/15
to tarantool-ru
Исправлено в текущем master.

среда, 25 ноября 2015 г., 16:32:37 UTC+3 пользователь Alex Shreder написал:
Reply all
Reply to author
Forward
0 new messages