clickhouse_ru | Unsorted

Telegram-канал clickhouse_ru - ClickHouse не тормозит

11238

Обсуждаем ClickHouse

Subscribe to a channel

ClickHouse не тормозит

обычно люди не хотят терять данные. Но если вам пофиг, то почему бы и нет

Читать полностью…

ClickHouse не тормозит

Спасибо! Это вообще более-менее нормальная практика - ставить игнор ошибкам матвью?

Читать полностью…

ClickHouse не тормозит

так тоже можно. Но лучше нет.
https://kb.altinity.com/altinity-kb-integrations/altinity-kb-kafka/altinity-kb-kafka-main-parsing-loop/#disable-at-least-once-delivery

Читать полностью…

ClickHouse не тормозит

Коллеги, есть вопрос, как обойти известную проблему поломки вычитке из кафки при сбое парсинга на "конвейере дальше"?

Вкратце: Клик вычитывает топик кафки, складывает данные в Replicated-таблицу. Далее, к этой таблице присоединена матвью, которая парсит поля из Replicated-таблицы и складывает в отдельную таблицу. И вот матвью, в части парсинга, может выдавать ошибки - например, скрипт написан с ошибочной логикой, или скрипт ожидает один тип данных, а приходит другой (допустим, что проблему несоответствия данных со стороны источника мы пока решить не можем). И мы видим, что в случае ошибки работы матвью вылетает exception, при этом данные, естественно, в последнюю таблицу не перекладываются, но это полбеды. Основная проблема в том, что этот сбой парсинга интерпретируется в системе в целом как сбой всего конвейера "вычитка из топика - сохранение в таблицу - парсинг на матвью - перекладка во вторую таблицу", и коммит офсета в Кафку также завершается с ошибкой. Поскольку вычитка не закоммичена, идёт повторная вычитка из Кафки тех же данных, происходит повторная ошибка, и т.д. Вычитка тормозится, лаг растёт, всё ломается.

Так вот, вопрос: можно ли как-то в Clickhouse сделать ограничение, чтобы коммит офсета в кафку происходил уже на этапе "первичного" сохранения данных в Replicated-таблице? Т.е. вот эта фаза завершена успешно, читай следующий блок данных из топика, а что там будет с ними дальше, пусть на кафку не влияет.

Либо как вариант - можно ли настроить матвью, чтобы в результате эксепшена на матвью сбойная запись дропалась, но для Replicated таблицы и Kafka Engine это не было бы ошибкой, которая приводила бы к перевычитке. Т.е. это потеря данных, и это плохо, но даже такой результат будет лучше, чем перевычитка.

Читать полностью…

ClickHouse не тормозит

Привет! Нашли причину? У нас такая же ситуация, куда копать не знаем пока.

Читать полностью…

ClickHouse не тормозит

Перезалив сервера помог, больше ошибок не встречаю. Большое спасибо всем причастным!

Читать полностью…

ClickHouse не тормозит

Она не проблемная, все верно. Она была создана для запросов аналитиков, чтобы не нагружать продовый кластер. А в proxmox, тк для нас там дешевле

Читать полностью…

ClickHouse не тормозит

ну если это пустой сервер, то дропните тестовую таблицу
rm -rf /var/lib/clickhouse/* /mnt/disk/clickhouse/* и рестартовать и снова создать тестовую таблицу

Читать полностью…

ClickHouse не тормозит

какой тип диска для GCP?

Читать полностью…

ClickHouse не тормозит

Сразу после обновления ругалось на все реплицируемые таблицы, я дропнул все базы на проблемной реплике и создал отдельную базу и таблицу для проверки работы репликации.

Читать полностью…

ClickHouse не тормозит

мне вот другое интересно, у вас только на одну таблицу ругается или в целом на все ?

Читать полностью…

ClickHouse не тормозит

а какое окружение? /mnt/disk1 это что? какая файловая система?

mount /mnt/disk1
что показывает?

Читать полностью…

ClickHouse не тормозит

[pid 22844] 19:40:32.875229 openat(AT_FDCWD</>, "/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1", O_RDONLY|O_NOFOLLOW|O_CLOEXEC|O_DIRECTORY) = 67</mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1>


немного настораживает, что в некоторых вызовах указывается полный путь:

/mnt/disk1/...

а в других относительный:

store/4c7/4c79225a-f22e-459a-a39
`
но это то, за что просто зацепился глаз:

Читать полностью…

ClickHouse не тормозит

18. void std::__function::__policy_invoker<void ()>::__call_impl[abi:ne190107]<std::__function::__default_alloc_func<ThreadFromGlobalPoolImpl<false, true>::ThreadFromGlobalPoolImpl<void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*)(), ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*>(void (ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::*&&)(), ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool*&&)::'lambda'(), void ()>>(std::__function::__policy_storage const*) @ 0x000000000f65fd63
19. ThreadPoolImpl<std::thread>::ThreadFromThreadPool::worker() @ 0x000000000f65656f
20. void* std::__thread_proxy[abi:ne190107]<std::tuple<std::unique_ptr<std::__thread_struct, std::default_delete<std::__thread_struct>>, void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::thread>::ThreadFromThreadPool*>>(void*) @ 0x000000000f65d83a
21. ? @ 0x00007933a689caa4
22. ? @ 0x00007933a6929c3c

Cannot print extra info for Poco::Exception (version 25.3.6.56 (official build))
`

Читать полностью…

ClickHouse не тормозит

также есть ошибки в err log:
`
2025.10.02 16:26:40.207923 [ 7719 ] {} <Warning> upgrade.block_timestamp_ (ce09bcb7-ff1c-4919-9ffa-abbef6004c68) (Fetcher): Directory /mnt/disk1/clickhouse/store/ce0/ce09bcb7-ff1c-4919-9ffa-abbef6004c68/tmp-fetch_all_0_0_1/ already exists, probably result of a failed fetch. Will remove it before fetching part.
2025.10.02 16:26:40.208447 [ 7719 ] {} <Error> upgrade.block_timestamp_ (ce09bcb7-ff1c-4919-9ffa-abbef6004c68): auto DB::StorageReplicatedMergeTree::processQueueEntry(ReplicatedMergeTreeQueue::SelectedEntryPtr)::(anonymous class)::operator()(LogEntryPtr &) const: std::exception. Code: 1001, type: std::__1::filesystem::filesystem_error, e.what() = filesystem error: in weakly_canonical: Permission denied ["store/ce0/ce09bcb7-ff1c-4919-9ffa-abbef6004c68/tmp-fetch_all_0_0_1/checksums.txt"], Stack trace (when copying this message, always include the lines below):

Читать полностью…

ClickHouse не тормозит

вот не совсем понимаю, почему нет. Вы не могли бы чуть пояснить? Разве будет плохо, если мы отвяжем этап парсинга от этапа вычитки и первичного сохранения?

Читать полностью…

ClickHouse не тормозит

Я складываю каждую строку отдельно как json, а потом через мат вью перекладываю в нормальную структуру и формирую DLQ через второй мат вью.

Читать полностью…

ClickHouse не тормозит

идете в доку, жамкаете AskAI, пишите how to ingore error from matview, получаете materialized_views_ignore_errors

Читать полностью…

ClickHouse не тормозит

треды посчитайте чем у вас clickhouse занят
Thread counts by type (using ps & clickhouse-local)
https://kb.altinity.com/altinity-kb-setup-and-maintenance/altinity-kb-threads/

Читать полностью…

ClickHouse не тормозит

Привет!) Посоветуйте, что почитать по партиционирование - интересует подробное описание механизмов/алгоритмов и настроек. Проблема такая - в какой-то момент слишком много партов образуется (льется стрим построчный и разбирается материалками).

Читать полностью…

ClickHouse не тормозит

Вчера несколько раз так пробовал, удивительно, но не помогло. Сейчас пробую полностью перелить сервер.

Читать полностью…

ClickHouse не тормозит

Тоже пришел к этому выводу! Прямо сейчас занимаюсь.

Читать полностью…

ClickHouse не тормозит

я бы грохнул GCP VM и заново сделал...

а зачем четвертая VM в proxmox? это не она же проблемная?

Читать полностью…

ClickHouse не тормозит

/mnt/disk1/clickhouse на всех 4х одинаково смонтирована и устроена? конфиг КХ одинаковый?

Читать полностью…

ClickHouse не тормозит

Прошу прощения, только проснулся.
1) 3 ВМ в Google Cloud Platform, (проблемная в том числе), 1 ВМ развернута в proxmox. Все ubuntu 24.04:


PRETTY_NAME="Ubuntu 24.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.3 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo

На 3-х (те, что в gcp) ядра:

6.14.0-1014-gcp #15~24.04.1-Ubuntu SMP Fri Jul 25 23:26:08 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

На последней:

6.8.0-78-generic #78-Ubuntu SMP PREEMPT_DYNAMIC Tue Aug 12 11:34:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

2) /mnt/disk1 - это директория, в которую монтируется диск для данных clickhouse
3) Файловая система ext4

Читать полностью…

ClickHouse не тормозит

ну да, вам задали 4 вопроса, вы ответили на один... ну, удачи в поисках

Читать полностью…

ClickHouse не тормозит

чето странно что permission denied а не file not found для checksums.txt

Читать полностью…

ClickHouse не тормозит

записал strace по доступу к файлам:
`
[pid 22847] 19:40:32.247989 stat("/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1", {st_mode=S_IFDIR|0750, st_size=4096, ...}) = 0
[pid 22847] 19:40:32.248614 openat(AT_FDCWD</>, "/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1", O_RDONLY|O_NOFOLLOW|O_CLOEXEC|O_DIRECTORY) = 67</mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1>
[pid 22847] 19:40:32.249438 unlinkat(AT_FDCWD</>, "/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1", AT_REMOVEDIR) = 0
[pid 22847] 19:40:32.249969 stat("/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1", 0x7d3f7ddf3028) = -1 ENOENT (No such file or directory)
[pid 22847] 19:40:32.250254 stat("/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256", {st_mode=S_IFDIR|0750, st_size=4096, ...}) = 0
[pid 22847] 19:40:32.250385 mkdir("/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1", 0777) = 0
[pid 22847] 19:40:32.250854 stat("store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1/checksums.txt", 0x7d3f7ddf2d50) = -1 EACCES (Permission denied)
[pid 22845] 19:40:32.438854 stat("/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1", {st_mode=S_IFDIR|0750, st_size=4096, ...}) = 0
[pid 22845] 19:40:32.439601 openat(AT_FDCWD</>, "/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1", O_RDONLY|O_NOFOLLOW|O_CLOEXEC|O_DIRECTORY) = 67</mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1>
[pid 22845] 19:40:32.440343 unlinkat(AT_FDCWD</>, "/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1", AT_REMOVEDIR) = 0
[pid 22845] 19:40:32.440672 stat("/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1", 0x7d3f800b7028) = -1 ENOENT (No such file or directory)
[pid 22845] 19:40:32.440834 stat("/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256", {st_mode=S_IFDIR|0750, st_size=4096, ...}) = 0
[pid 22845] 19:40:32.441043 mkdir("/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1", 0777) = 0
[pid 22845] 19:40:32.441538 stat("store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1/checksums.txt", 0x7d3f800b6d50) = -1 EACCES (Permission denied)
[pid 22833] 19:40:32.760029 stat("/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1", {st_mode=S_IFDIR|0750, st_size=4096, ...}) = 0
[pid 22833] 19:40:32.760731 openat(AT_FDCWD</>, "/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1", O_RDONLY|O_NOFOLLOW|O_CLOEXEC|O_DIRECTORY) = 67</mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1>
[pid 22833] 19:40:32.761407 unlinkat(AT_FDCWD</>, "/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1", AT_REMOVEDIR) = 0
[pid 22833] 19:40:32.761699 stat("/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1", 0x7d3f860c3028) = -1 ENOENT (No such file or directory)
[pid 22833] 19:40:32.761868 stat("/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256", {st_mode=S_IFDIR|0750, st_size=4096, ...}) = 0
[pid 22833] 19:40:32.762407 mkdir("/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1", 0777) = 0
[pid 22833] 19:40:32.763101 stat("store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1/checksums.txt", 0x7d3f860c2d50) = -1 EACCES (Permission denied)
[pid 22844] 19:40:32.874398 stat("/mnt/disk1/clickhouse/store/4c7/4c79225a-f22e-459a-a398-1e02f9564256/tmp-fetch_all_0_0_1", {st_mode=S_IFDIR|0750, st_size=4096, ...}) = 0

Читать полностью…

ClickHouse не тормозит

0. std::system_error::system_error(std::error_code, String const&) @ 0x000000001ad9fd57
1. std::filesystem::filesystem_error::filesystem_error[abi:ne190107](String const&, std::filesystem::path const&, std::error_code) @ 0x000000000f5d989f
2. void std::filesystem::__throw_filesystem_error[abi:ne190107]<String&, std::filesystem::path const&, std::error_code const&>(String&, std::filesystem::path const&, std::error_code const&) @ 0x000000001ad578ed
3. std::filesystem::detail::ErrorHandler<std::filesystem::path>::report(std::error_code const&) const @ 0x000000001ad590d2
4. std::filesystem::__weakly_canonical(std::filesystem::path const&, std::error_code*) @ 0x000000001ad5d95b
5. DB::DataPartsExchange::Fetcher::downloadBaseOrProjectionPartToDisk(String const&, std::shared_ptr<DB::IDataPartStorage> const&, DB::ReadWriteBufferFromHTTP&, std::function<std::unique_ptr<DB::WriteBufferFromFileBase, std::default_delete<DB::WriteBufferFromFileBase>> (DB::IDataPartStorage&, String const&, unsigned long)>, DB::MergeTreeDataPartChecksums&, std::shared_ptr<DB::Throttler>, bool) const @ 0x00000000145468c5
6. DB::DataPartsExchange::Fetcher::downloadPartToDisk(String const&, String const&, bool, String const&, std::shared_ptr<DB::IDisk>, bool, DB::ReadWriteBufferFromHTTP&, std::function<std::unique_ptr<DB::WriteBufferFromFileBase, std::default_delete<DB::WriteBufferFromFileBase>> (DB::IDataPartStorage&, String const&, unsigned long)>, unsigned long, std::shared_ptr<DB::Throttler>, bool) @ 0x0000000014543d1c
7. DB::DataPartsExchange::Fetcher::fetchSelectedPart(std::shared_ptr<DB::StorageInMemoryMetadata const> const&, std::shared_ptr<DB::Context const>, String const&, String const&, String const&, String const&, int, DB::ConnectionTimeouts const&, String const&, String const&, String const&, std::shared_ptr<DB::Throttler>, bool, String const&, std::optional<DB::CurrentlySubmergingEmergingTagger>*, bool, std::shared_ptr<DB::IDisk>) @ 0x000000001453e32a
8. std::shared_ptr<DB::IMergeTreeDataPart> std::__function::__policy_invoker<std::shared_ptr<DB::IMergeTreeDataPart> ()>::__call_impl[abi:ne190107]<std::__function::__default_alloc_func<DB::StorageReplicatedMergeTree::fetchPart(String const&, std::shared_ptr<DB::StorageInMemoryMetadata const> const&, String const&, String const&, bool, unsigned long, std::shared_ptr<zkutil::ZooKeeper>, bool)::$_4, std::shared_ptr<DB::IMergeTreeDataPart> ()>>(std::__function::__policy_storage const*) @ 0x00000000142b1da9
9. DB::StorageReplicatedMergeTree::fetchPart(String const&, std::shared_ptr<DB::StorageInMemoryMetadata const> const&, String const&, String const&, bool, unsigned long, std::shared_ptr<zkutil::ZooKeeper>, bool) @ 0x000000001419fcaa
10. DB::StorageReplicatedMergeTree::executeFetch(DB::ReplicatedMergeTreeLogEntry&, bool) @ 0x000000001418d0f5
11. DB::StorageReplicatedMergeTree::executeLogEntry(DB::ReplicatedMergeTreeLogEntry&) @ 0x00000000141782a0
12. bool std::__function::__policy_invoker<bool (std::shared_ptr<DB::ReplicatedMergeTreeLogEntry>&)>::__call_impl[abi:ne190107]<std::__function::__default_alloc_func<DB::StorageReplicatedMergeTree::processQueueEntry(std::shared_ptr<DB::ReplicatedMergeTreeQueue::SelectedEntry>)::$_1, bool (std::shared_ptr<DB::ReplicatedMergeTreeLogEntry>&)>>(std::__function::__policy_storage const*, std::shared_ptr<DB::ReplicatedMergeTreeLogEntry>&) @ 0x00000000142aea9c
13. DB::ReplicatedMergeTreeQueue::processEntry(std::function<std::shared_ptr<zkutil::ZooKeeper> ()>, std::shared_ptr<DB::ReplicatedMergeTreeLogEntry>&, std::function<bool (std::shared_ptr<DB::ReplicatedMergeTreeLogEntry>&)>) @ 0x00000000149940a7
14. DB::StorageReplicatedMergeTree::processQueueEntry(std::shared_ptr<DB::ReplicatedMergeTreeQueue::SelectedEntry>) @ 0x00000000141c9d3c
15. DB::ExecutableLambdaAdapter::executeStep() @ 0x0000000014579012
16. DB::MergeTreeBackgroundExecutor<DB::RoundRobinRuntimeQueue>::threadFunction() @ 0x0000000014639b71
17. ThreadPoolImpl<ThreadFromGlobalPoolImpl<false, true>>::ThreadFromThreadPool::worker() @ 0x000000000f65923b

Читать полностью…

ClickHouse не тормозит

этот каталог постоянно пересоздается:


root@clickhouse-02:/mnt/disk1/clickhouse/store/ce0/ce09bcb7-ff1c-4919-9ffa-abbef6004c68# stat tmp-fetch_all_0_0_1/
File: tmp-fetch_all_0_0_1/
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 8,32 Inode: 3935550 Links: 2
Access: (0750/drwxr-x---) Uid: ( 995/clickhouse) Gid: ( 997/clickhouse)
Access: 2025-10-02 16:25:50.238812332 +0000
Modify: 2025-10-02 16:25:50.238812332 +0000
Change: 2025-10-02 16:25:50.238812332 +0000
Birth: 2025-10-02 16:25:50.238812332 +0000
root@clickhouse-02:/mnt/disk1/clickhouse/store/ce0/ce09bcb7-ff1c-4919-9ffa-abbef6004c68# stat tmp-fetch_all_0_0_1/
File: tmp-fetch_all_0_0_1/
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 8,32 Inode: 3935550 Links: 2
Access: (0750/drwxr-x---) Uid: ( 995/clickhouse) Gid: ( 997/clickhouse)
Access: 2025-10-02 16:25:50.974811270 +0000
Modify: 2025-10-02 16:25:50.974811270 +0000
Change: 2025-10-02 16:25:50.974811270 +0000
Birth: 2025-10-02 16:25:50.974811270 +0000
root@clickhouse-02:/mnt/disk1/clickhouse/store/ce0/ce09bcb7-ff1c-4919-9ffa-abbef6004c68# stat tmp-fetch_all_0_0_1/
File: tmp-fetch_all_0_0_1/
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 8,32 Inode: 3935550 Links: 2
Access: (0750/drwxr-x---) Uid: ( 995/clickhouse) Gid: ( 997/clickhouse)
Access: 2025-10-02 16:25:51.925809900 +0000
Modify: 2025-10-02 16:25:51.925809900 +0000
Change: 2025-10-02 16:25:51.925809900 +0000
Birth: 2025-10-02 16:25:51.925809900 +0000
root@clickhouse-02:/mnt/disk1/clickhouse/store/ce0/ce09bcb7-ff1c-4919-9ffa-abbef6004c68#

Читать полностью…
Subscribe to a channel