184 похожих чатов

Привет! А никто не сталкивался что при запуске Clickhouse в

контейнере появляется ошибка invalid cross device link? Она появляется только если директория где лежат data файлы находится внутри контейнера. Если пробрасывать наружу или использовать data контейнер, то все хорошо.

6 ответов

29 просмотров
Nikita-Beleckij Автор вопроса

У нас не стандартный контейнер. Мы используем наш контейнер, где ставим кликхаус из пакета. Тут ещё такой момент, что раньше такой ошибки не было, она появилась с LTS 21.3

Nikita-Beleckij Автор вопроса

Если вдруг кто столкнётся с такой же ошибкой. Clickhouse пытается произвести удаление файлов: write(2, "2021.07.30 10:58:52.317171 [ \33[3"..., 2142021.07.30 10:58:52.317171 [ 2937 ] {} <Debug> system.trace_log (5f1f70a0-0f80-46b5-91ea-59900b67a4f8): Removing part from filesystem 202107_1_1_0) = 214 Для этого делает tmp файлы: rename("/srv/clickhouse/store/5f1/5f1f70a0-0f80-46b5-91ea-59900b67a4f8/202107_1_1_0", "/srv/clickhouse/store/5f1/5f1f70a0-0f80-46b5-91ea-59900b67a4f8/delete_tmp_202107_1_1_0") = -1 EXDEV (Invalid cross-device link) Но использует при этом функцию rename. А она не работает на overlayfs2, т.к там происходит переименование сквозь слои. А Clickhouse не должен учитывать этот момент?

Nikita Beleckij
Если вдруг кто столкнётся с такой же ошибкой. Clic...

Там пол КХ на этом построено. Непонятно как это можно исправить даже в теории.

Nikita-Beleckij Автор вопроса
Denny [Altinity]
без Atomic баз проблема тоже?

У нас их и нет. Но системные базы создаются сразу как Atomic и проблема именно с ними. Нет возможности поменять их тип при инициализации?

Nikita Beleckij
У нас их и нет. Но системные базы создаются сразу ...

останавливаете КХ. удаляете rm -rf metadata/system/ удаляeте rm -rf data/system/ удаляете store , если вы на 100% уверены что у вас нету atomic, rm -rf store, или можете оставить mkdir metadata/system/ data/system/; chown clickhouse.clickhouse metadata/system/ data/system/ в system.sql кладете cat /var/lib/clickhouse/metadata/system.sql ATTACH DATABASE system ENGINE = Ordinary запускаете КХ другой вариант ставить 20.6 на голую систему, запустить КХ, создастся system Ordinary и апгрейдить до нужной версии

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта