Кассандра GC льготный период не может настроить - PullRequest
0 голосов
/ 09 мая 2018

с реф до "https://docs.datastax.com/en/cql/3.1/cql/cql_reference/tabProp.html" Мне нужно настроить gc grace period как решение для надгробий при удалении.

Но при перезапуске я получаю ошибку ниже.

"com.google.inject.CreationException: Unable to create injector, see the following errors: 1) An exception was caught and reported. Message: Invalid yaml. Please remove properties [gc_grace_seconds] from your cassandra.yaml
  at com.datastax.bdp.DseModule.configure(Unknown Source)
"

cqlsh> show VERSION
[cqlsh 5.0.1 | Cassandra 3.11.0.1855 | DSE 5.1.3 | CQL spec 3.4.4 | Native protocol v4]

Ответы [ 3 ]

0 голосов
/ 09 мая 2018

gc_grace_seconds определяется как часть каждого определения таблицы:

CREATE TABLE testTable (
    testid bigint,
    vendid bigint,
    updatets timestamp,
    PRIMARY KEY (testid, vendid)
) WITH CLUSTERING ORDER BY (vendid ASC)
AND gc_grace_seconds = 864000;

По умолчанию установлено значение 864000 (десять дней).

И я должен предупредить вас о настройке этого параметра. Помните, что надгробия - это способ Кассандры воспроизвести «ничто». Это действительно трудно сделать в распределенных базах данных, отсюда и причина структуры захоронения. Просто убедитесь, что вы выполняете восстановление в пределах диапазона вашего нового значения, иначе ваши надгробные камни могут не выполнить свою работу (ничего не реплицировать на все ваши узлы), и вы можете получить данные, которые «падают» обратно.

0 голосов
/ 10 мая 2018

вы можете изменить свою таблицу после подключения к cqlsh. По умолчанию значение gc_grace_period равно 10 дням.

Подключиться к clqsh cqlsh cqlsh> изменить keyspace.table_name с помощью gc_grace_seconds = 864000;

Примечание: 10 дней = 864000 секунд

0 голосов
/ 09 мая 2018

Анушке, это устанавливается на уровне схемы, а не в cassandra.yaml.

...