slave ) появилась необходимость перегнать данные из другого хранилища ( key value ) в тарантул. Пробовал слать по одному объекту через роутер тарантула выходит долго, решил сделать метод, который принимает пачку объектов ( допустим 50 ) но возникает проблема с bucket_id, я на стороне router'a для каждого объекта устанавливаю bucket_id но сам запрос в storage'a шлю в bucket_id = 1 ( для примера ). После выполнения скрипта данные появляются в storage_1 к котрому относится bucket_id == 1, далее запускаю на каждом мастере vshard.storage.rebalancer_wakeup() получая сообщение:
The cluster is balanced ok. Schedule next rebalancing after 3600.000000 seconds
но данные так и остались на storage_1 .
вопрос в следующем:
1. как заставить vshard перебалансировать по bucket_id данные?
2. Есть вариант на router'е разбивать пачку объектов и группировать по репликам ( через vshard.router.bucket_discovery )
А если сперва все бакеты сделать на 1 сторедже и сделать все с 1 стореджом? А после того как данные перелили подключайте еще Х стореджей и данные разольются
Обсуждают сегодня