2015-03-03 4 views
0

У меня был 4-х кластерный кластер с 3-мя ковшими, каждый из которых имел 1 реплику. Однако, когда один из моих узлов, когда вниз часть моего набора данных стала недоступной. Я думал, что это может быть из-за того, что у меня есть четное число узлов i.e 4 (вместо 3 или 5), и поэтому я потерпел неудачу на 1 узел. Затем я приступил к перебалансировке кластера, после чего он застрял. Единственное, что я могу найти в журналах, - Bucket "staging" rebalance does not seem to be swap rebalance. Любая идея, как оправиться от этого?Couchbase 3.0 rebalance stuck

В моем отчаянии я также попытался изменить реплики разных ведер, а затем выполнить балансировку. Ничего не получилось. Это случилось и раньше, и мне пришлось сбросить всю свою базу данных и загрузить ее в новый кластер, потому что я даже не мог создать резервную копию моей базы данных. На этот раз этот путь не является вариантом, так как данные критически важны и время безотказной работы.

+0

Во-первых, нет необходимости иметь нечетное или четное число узлов (3 рекомендуемый минимальный, но в остальном никаких реальных ограничений к топологии). Вы пытались перебалансировать кластер с тремя узлами (с удаленным удаленным узлом), прежде чем пытаться перебалансировать, чтобы добавить поврежденный узел обратно? – mrkwse

+0

На самом деле это именно то, что я сделал. Я удалил 4-й узел и перебалансировал между 3 узлами. Это когда он застрял. Затем я сделал много вещей в тщетных попытках развязать. Это включало изменение количества реплик, а также добавление обратно отказавшего узла. Ни один из них не работал. Единственная комбинация, о которой я думал, но не пыталась отключить все реплики, а затем перебалансировать, а затем снова добавить больше реплик и перебалансировки. Я боюсь потери данных, поэтому я еще не пробовал. –

+0

Похоже, вам нужно открыть проблему с командой Couchbase. Перейдите по адресу http://www.couchbase.com/issues – user1697575

ответ

0

Поддержка Couchbase указывает на ошибку, где, если есть пустые vbuckets, перебалансировка может зависать. По их словам, это исправлено в 2.0, но это не !!!!.
Решение, связанное с работой, состоит в том, чтобы заполнить ведра с минимальным временем жизни в 2048 раз (TTL> = (10 минут на обновление + (2 x rebalance_time)) x num_nodes), поэтому у всех vbuckets есть что-то в них. Затем мы успешно заполнили все ведра и смогли перезапустить процесс балансировки, который завершился хорошо.

Это работает для Couchbase 3.0.

Ссылка: http://www.pythian.com/blog/couchbase-rebalance-freeze-issue/