How to scale Cassandra cluster vertically
У меня есть кластер Cassandra с 3 узлами, который я создал год назад, и сейчас он становится довольно медленным. Мне гораздо дешевле масштабировать по вертикали, чем по горизонтали (я получил бесплатную оперативную память и новые гигабитные никель-карты, которые я хочу вставить в свои узлы). Мне нужно, чтобы кластер оставался включенным во время обновления, но я не могу найти документацию о том, как масштабировать по вертикали без простоев. Какова стандартная процедура вертикального масштабирования кластера Кассандры? Кроме того, все ли машины должны быть одинаковыми (одинаковое количество оперативной памяти, одинаковое пространство на жестком диске и т. Д.)?
1 ответ
Какова стандартная процедура вертикального масштабирования кластера Кассандры?
Нет. Cassandra была разработана для горизонтального масштабирования, хотя вы можете попробовать масштабировать ее вертикально. Просто обновите один узел за другим.
- Читайте о подсказке хэндовера - механизм, который будет использоваться, когда один из ваших узлов будет недоступен
- Убедитесь, что ваши клиенты используют надлежащий уровень ConsistencyLevel (поскольку указанная передача обслуживания не учитывается для уровня согласованности)
- Прочитайте, что происходит после того, как узел возвращается в онлайн
Кроме того, все ли машины должны быть одинаковыми (одинаковое количество оперативной памяти, одинаковое пространство на жестком диске и т. Д.)?
Нет, но вам придется делать балансировку нагрузки вручную. Если у вас будет 4 "старых" узла и один "модернизированный" узел, и нагрузка на них будет одинаковой (одинаковое количество операций записи / чтения из-за назначения токена), очевидно, что "старые" узлы будут иметь более высокий процент своего ресурса использование.