Назад | Перейти на главную страницу

Как я могу понять, почему мой кластер Riak не выполняет этап уплотнения на машинах, когда я ожидаю?

У меня есть кластер машин Riak (V1.2.0), каждая с примерно 50 ГБ места на жестком диске. У нас есть биткаск-хранилище, настроенное следующим образом:

%% Bitcask Config
{bitcask, [
         {data_root, "/var/lib/riak/bitcask"},
         {frag_merge_trigger, 40}, %% trigger merge if framentation is > 40% default is 60%
         {dead_bytes_merge_trigger, 67108864}, %% trigger if dead bytes for keys > 64MB default is 512MB
         {frag_threshold, 20}, %% framentation >= 20% default is 40
         {dead_bytes_threshold, 67108864} %% trigger if dead bytes for data > 64MB default is 128MB
       ]},

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

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

Что-то не так с моей конфигурацией? Я не совсем уверен, как настроить его так, чтобы освободить пространство «автоматически» настолько, чтобы у меня не закончилось место на диске в течение примерно недели.

Как я могу проверить?

Добавьте одну строку в конфигурацию вашей битовой маски

{log_needs_merge, true}

Всякий раз, когда происходит слияние, в файле console.log будет запись, которая показывает, какие файлы встретились, какие триггеры