@clickhouse_ru

Страница 672 из 723
Michal
25.09.2018
07:13:38
Эффективнее сразу в базу стримить или накапливать в каком нибудь csv?
Кликхаус любит инсерты пачками. Идеально - один инсерт в секунду или реже. Размеры пачек - до нескольких сотен тысяч строк.

А уж где копить - в другой базе, в очереди сообщений, в кафке, в файле, в таблице Buffer, в памяти приложения и т.п. - тут на вкус и цвет товарищей нет.

Ivan
25.09.2018
07:18:15
Ругается на arrayDifference
нужна версия 18.12.13+

Alexey
25.09.2018
07:18:36
нужна версия 18.12.13+
понял( Попробую попросить обновить.

Google
Konstantin
25.09.2018
07:19:57
Wolf
25.09.2018
07:22:08
То есть в той же Метрике сначала идёт накопление а потом вставка в кликхаус?
мне кажется так везде идет , вопрос в том что накопление например у нас происходит за несколько секунд

Konstantin
25.09.2018
07:23:24
Где то 50мб в день внутри кх

Michal
25.09.2018
07:27:48
Где то 50мб в день внутри кх
Смешные объемы данных для КХ. Вам точно нужен кликхаус? Или вы данные за 10 тысяч лет будете анализировать? :)

Wolf
25.09.2018
07:28:37
Где то 50мб в день внутри кх
а зачем вам кх тогда ? у вас тупо будет из текстового файла быстро работать )

Konstantin
25.09.2018
07:28:46
Ну не в мускул же пихать) а так сжато и не мешает

Michal
25.09.2018
07:29:19
Ну не в мускул же пихать) а так сжато и не мешает
Если данных 50 мб в день - то можете и по одной строке инсертить :D

Michal
25.09.2018
07:31:17
А вот и ответ))
Только если вдруг будут пики - типа весь день тишина, а потом в течение минуты миллион единичных инсертов - то и так всё встанет.

Vladimir
25.09.2018
07:31:55
Всем привет! Добавили в таблицу новые значения поля enum на всем кластере, сделали альтер на всех нодах, но все равно в логах кликхауса видим ошибки вида Type mismatch for column - и он говорит что Enum8 еще видит старый, хотя везде новый в таблицах в describe table. Такое кто-нибудь встречал? Нужно рестартить что ли зуукипер или сам кликхаус-сервер или просто почистить папку broken ? Есть подозрения, что эти ошибки мешают текущей вставке записей.

Mariya
25.09.2018
07:33:06
@miptgirl подскажешь?
Есть чат про Яндекс.Метрику, в общем - https://t.me/yandexmetrika Там можно спрашивать и про Logs API

Google
Michal
25.09.2018
07:35:40
В плане встанет что данные будут вставлены?
В смысле что начнете получать всякие чудные сообщения об ошибках и всё начнет тормозить.

Michal
25.09.2018
07:38:13
не, там все пусто было и раньше, если смотреть describe table
Посмотрите что там в логах рядом с сообщением Type mismatch for column.

Vladimir
25.09.2018
07:44:54
Посмотрите что там в логах рядом с сообщением Type mismatch for column.
ничего особенного, просто Column has type Enum8 не совпадает, и список полей отображается. Хотя в БД норм все

Michal
25.09.2018
08:19:34
ничего особенного, просто Column has type Enum8 не совпадает, и список полей отображается. Хотя в БД норм все
Ну понятно что ничего особенного, но скорее всего там должен быть и селект/инсерт который вызвал эту ошибку.

Возможно в самом селекте/инсерте что-то не так?

Vladimir
25.09.2018
08:22:44
Ну понятно что ничего особенного, но скорее всего там должен быть и селект/инсерт который вызвал эту ошибку.
Сейчас таких запросов уже нет, но были в момент альтера, когда была вставка и структура какое-то время оставалась старая. Но такого сейчас уже нет, а в логах сыпится это и аффектит основную вставку

Vladimir
25.09.2018
08:24:27
Да

Michal
25.09.2018
08:24:42
Distributed уже пересоздана?

Vladimir
25.09.2018
08:25:05
А зачем ее пересоздавать? Мы там альтеры везде тоже сделали

Michal
25.09.2018
08:30:55
А зачем ее пересоздавать? Мы там альтеры везде тоже сделали
Ну не суть, в смысле структура у Distributed тоже уже изменилась.

Вкратце - скорее всего проблема связана с тем что alter на Distributed и на подчиненных таблицах были выполнены не одновременно, и между этими событиями приехали какие-то инсерты (по возможности лучше останавливать записть на время альтеров) которые теперь "зависли" в Distibuted.

Michal
25.09.2018
08:48:37
ага, спасибо, так и думали. А как теперь испрвить это? Удалить все файлы в папке broken?
Если эти данные не нужны - то можно просто удалить. Как вариант - можно создать таблицу со старой структурой, перенести broken_ части в detached для этой временной таблицы, там сделать attach, и потом заинсертить их ещё раз в Distributed.

Вообще наверное Enum с расширенным набором значений должен "принимать" на уровне типов Enum'ы с более узким (при этом совпадающим) набором значений.

Google
Michal
25.09.2018
08:58:22
Не, не принимает так.
Угу, знаю. Просто мысли вслух :)

Vadim
25.09.2018
09:05:42
Кто знает, после скольки попыток мерджа и несовпадении чексумы КХ таки скачает его с одной из реплик. Перезагрузка серверов с изменеием конфига с разницей в 5-10 секунд привела к тому, что на одном хосте этот парт уже есть, 2 дугих попеременно мерджат его и откидывают уже минут 40, сам мердж занимает 2 минуты

новое мерджится нормально, проблема в единственном парте

Vladimir
25.09.2018
09:17:05
Дмитрий
25.09.2018
09:22:31
Всем привет, столкнулся с необычным на мой взгляд поведением у меня есть VIEW таблица ReplicatedSummingMergeTree, так вот в ней данных, например SUM(events), больше чем в оригинальной табличке, не значительно, такое ощущение что при инсерте, данные сначала попадают во вьюху, а потом уже в таблицу. Это нормально? Так задумано?

Michal
25.09.2018
09:24:34
а могут ли они аффектить текущую вставку? Ну то есть если все нормально уже с новыми запросами?
broken части вроде бы не должны. Но если там "висят" части с названием реплики, то наверное могут. В смысле он будет пробовать повторно заинсертить данные, а в случае неудачи - будет думать что с этой репликой "что-то не так".

Но я не уверен. Может быть девелоперы подскажут быстрее. :)

Vladimir
25.09.2018
09:34:59
broken не аффектят вставку, и оттуда не отправляются повторно записи, согласно доке. А вот вся очередь копится в /var/lib/clickhouse/data/database/table/ - а как можно оттуда вычесть неверные записи, кто-нибудь знает?

Vladimir
25.09.2018
10:01:35
Товарищи, подскажите, может есть схожий чат но по проблемам связанным с аппметрикой? Или к кому в ЛС обратиться... Прям с 11:20 (МСК) appmetrica logs api не отдает данные(

Vladimir
25.09.2018
10:15:29
Спасибо, просто думал может кто в чате в курсе и подтведил бы(может там обновление просто у них идет - тогда проще подожать) Но да, пойду в саппорт.

Yury
25.09.2018
11:08:55
Подскажите, плиз, насколько длинный detach partition может быть? Уже больше часа висит запрос, критичной нагрузки ни по одному компоненту не вижу. SHOW PROCESSLIST Row 1: ────── is_initial_query: 1 user: default query_id: 0038d5f8-97ae-463e-9c21-05120bbc51c5 address: 127.0.0.1 port: 20323 initial_user: default initial_query_id: 0038d5f8-97ae-463e-9c21-05120bbc51c5 initial_address: 127.0.0.1 initial_port: 20323 interface: 1 os_user: root client_hostname: carbonch-d01 client_name: ClickHouse client client_version_major: 18 client_version_minor: 10 client_version_patch: 3 client_revision: 54405 http_method: 0 http_user_agent: quota_key: elapsed: 3637.367657261 is_cancelled: 0 read_rows: 0 read_bytes: 0 total_rows_approx: 0 written_rows: 0 written_bytes: 0 memory_usage: 0 peak_memory_usage: 0 query: ALTER TABLE graphite DETACH PARTITION '201809' Это вообще нормально? И насколько безопасно его прервать?

в каталоге detached не появилось ровным счетом ничего

зукипер тоже покуривает

Alexey
25.09.2018
11:11:55
чем-то он залочен видимо

селектами, инсертами, мержами?...

Yury
25.09.2018
11:16:50
ну длинных запросов там точно нет

чем-то он залочен видимо
как корректно проверить чем залочен?

Google
Alexey
25.09.2018
11:20:17
не знаю даже, show processlist пустой насчет этой таблицы?

Yury
25.09.2018
11:22:39
только этот альтер

KILL QUERY WHERE query_id = '0038d5f8-97ae-463e-9c21-05120bbc51c5' ASYNC Row 1: ────── kill_status: pending query_id: 0038d5f8-97ae-463e-9c21-05120bbc51c5 user: default query: ALTER TABLE graphite DETACH PARTITION '201809' 1 rows in set. Elapsed: 0.002 sec.

и продолжает висеть

Yury
25.09.2018
11:27:11
на другой реплике все чисто

и детач тоже не прошел, но я ON CLUSTER и не пускал его

Kirill
25.09.2018
11:27:47
select * from system.merges ?

Yury
25.09.2018
11:29:09
carbonch-d01.ops.icq.com ? select table,elapsed,num_parts from system.merges; SELECT table, elapsed, num_parts FROM system.merges ┌─table────┬────────elapsed─┬─num_parts─┐ │ graphite │ 6421.559180916 │ 9 │ │ graphite │ 6421.348935277 │ 7 │ │ graphite │ 6421.34433493 │ 5 │ │ graphite │ 6421.34333058 │ 3 │ └──────────┴────────────────┴───────────┘ 4 rows in set. Elapsed: 0.001 sec.

Kirill
25.09.2018
11:30:04
Если мержи задевают нужную партицию, то после того как они закончатся и детач выполнится

Yury
25.09.2018
11:30:48
а как понять что мешает мержам отработать?

Kirill
25.09.2018
11:32:25
Судя по всему они работают у вас, смотрите что за куски они мержат source_part_names и на размеры. Если ли ошибки?

Если куски большие, а у вас 4 мержа сразу идут, они вполне себе могут в диск упираться

Wolf
25.09.2018
11:36:23
откройте top и iotop и посмотрите что происходит

Александр
25.09.2018
11:39:27
А как-то можно "ускорить" мутации на удаление данных? Просто htop показывает вот такую картину: https://img.facedsid.ru/ovt3e.jpg А в КХ 11540 партов для обработки при этом никакие запросы на сервер КХ не идут. Я мутации запустил еще в 12 часов и они ппц как медленно идут. Такое ощущение, что КХ их обрабатывает как-то вяленько

Wolf
25.09.2018
11:44:27
смотрите iotop

Александр
25.09.2018
11:44:36
смотрите iotop
там тоже все "по нулям"

Google
Wolf
25.09.2018
11:44:55
я делал мутации удалением они фактически сразу начались

Александр
25.09.2018
11:46:41
https://img.facedsid.ru/se8z7.mp4

Они начинаются сразу, да, но они не задействуют все ресурсы что есть на сервере

Сервер стоит в холостую

https://img.facedsid.ru/xisd0.jpg

Мне кажется, что КХ может потреблять куда больше ресурсов :)

А такое ощущение, что ему лимиты воткнули на мутации и он за пределы этих лимитов не вылезает

Ладно я понимаю, если бы мутация упиралась в диск или в проц, но оно все свободное

Wolf
25.09.2018
11:51:48
ну что то у вас не так у меня так нехило утилизировался сервер, диск на 100% загрузки был

Александр
25.09.2018
11:52:55
ну что то у вас не так у меня так нехило утилизировался сервер, диск на 100% загрузки был
В том-то и проблема ( На двух серверах такая история была ( Он прям мееееееееееееееееееедленно мутации на удаление исполняет. Версия 18.12.17

Wolf
25.09.2018
11:53:31
у меня тоже 18.12.17

а каким запросом удалили ? я просто удаляю по дате меньше 15 дней и там мутации прямо огонь как быстро идут

Александр
25.09.2018
11:55:12
Кажется я увидел в чем проблема. Они встали на месте из-за того, что у меня в условии подзапрос. В логах валится, что таблица default.table не существует. Хотя я мутацию запускал явно в конкретной базе данных

Но почему-то эта штука использует default

И остановить мутацию никак...

Оно прям нонстопом валит ошибки

Страница 672 из 723