Как Cassandra справляется с недостатком дискового пространства? - PullRequest
0 голосов
/ 08 июня 2018

Я хотел бы знать, как кластер Cassandra обрабатывает элементы с недостаточным дисковым пространством.

Я прочитал, что это, вероятно, позволяет им выйти из строя с ошибкой, но это было в то время.

Если этовсе еще верно, есть ли какой-нибудь разумный способ предотвратить их слив диска без простоя, например, чтобы включить их только для чтения?

1 Ответ

0 голосов
/ 08 июня 2018

У Кассандры есть четыре способа передать этот сценарий.Вы можете настроить это поведение с помощью свойства disk_failure_policy в cassandra.yaml.По умолчанию:

disk_failure_policy: stop

stop Запрещает сплетни и клиентские подключения к узлу, но оставляет его работающим.Это позволяет анализировать его с помощью инструментов на основе JMX.

Другие варианты:

  • die Останавливает процесс Cassandra при ошибках файловой системы.
  • stop_paranoid Останавливает процесс Cassandra для ошибок SSTable и ошибок при запуске.
  • best_effort Cassandra будет пытаться отвечать на запросы на основе оставшихся таблиц SSTable, которые она может получить, нобольше не будет использовать полный / сбойный диск.
  • ignore По сути, запросы, которые могут быть обслужены, обслуживаются, а запросы, которые не выполняются, допускаются к сбою.

Для чегоВы говорите, ignore, вероятно, будет работать.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...