
kamish
16.10.2017
08:56:10
в этот момент /var/lib/clickhouse пуст
можно и после работы с кликхаусом, но тогда ты потеряешь все свои данные =)
можешь протестировать на докере, например

Ilya
16.10.2017
09:02:45
А в чём проблема смонтировать диск куда надо, переместить все данные на этот диск, поправить path в когфиге и перезапустить кликхаус?

Google

Alex
16.10.2017
09:06:50
я вот про это и справшивал, можно ли путь указать кх
где базы лежат
@qweran

Ilya
16.10.2017
09:08:34

Alex
16.10.2017
09:09:36
спасибо

Алексей
16.10.2017
09:10:24
подскажите, пожалуйста, достаточно ли экранировать апостроф и бэк-слэш в запросах, чтобы избежать инъекций?
и есть ли какая-то разница (кроме эстетической) между форматами
time BETWEEN 123456778 AND 234556677
и
time >= 123456778 AND time <= 234556677
?

Alex
16.10.2017
09:46:07

Алексей
16.10.2017
09:47:11
спасибо!

Павел Максимов
16.10.2017
10:28:26

Oleh
16.10.2017
10:29:42
а в джоине тоже есть where id =?

Symstriker
16.10.2017
10:30:45
Похоже на то ))

Павел Максимов
16.10.2017
10:35:08

Google

Павел Максимов
16.10.2017
10:38:05

Anton
16.10.2017
10:39:36
clientID какой тип?

Павел Максимов
16.10.2017
10:45:13

Vladimir
16.10.2017
10:45:22
У меня точно такая же проблема была. при этом в консоле результат корректный. Я решил, что это косяк тебикса

Павел Максимов
16.10.2017
10:45:58

Vladimir
16.10.2017
10:50:26

Павел Максимов
16.10.2017
10:51:43

Vladimir
16.10.2017
10:52:22
Коллеги, а ни у кого не возникло случайно сегодня проблем с обновлением логов за вчера? У меня уже несколько часов запрос висит в статусе created, хотя обычно минут 5 на рассчёт уходит..

kamish
16.10.2017
10:53:02
у таббикса уже есть issue на эту тему?
сейчас гляну
походу нет

Vladimir
16.10.2017
10:54:34

kamish
16.10.2017
10:55:15
https://github.com/smi2/tabix.ui/issues?utf8=%E2%9C%93&q=is%3Aissue

Vladimir
16.10.2017
10:56:06
Я напишу тогда

Алексей
16.10.2017
11:35:54
подскажите, пожалуйста: toStartOfMonth есть, toStartOfHour есть; а toStartOfDay почему-то нету... почему?
правильно ли считать, что toStartOfDay эквивалентно toRelativeDayNum(time) * 60?

Konstantin
16.10.2017
11:38:28

Oleksandr
16.10.2017
11:39:19
подскажите, есть ли jvm либа для tcp общения с CH ?

Google

Vladimir
16.10.2017
11:47:05
Коллеги, а ни у кого не возникло сегодня проблем с обновлением логов за вчера? У меня уже несколько часов запрос висит в статусе created, хотя обычно минут 5 на рассчёт уходит.. Просто хочется убедиться, что проблема там, а не тут

Алексей
16.10.2017
11:49:52

Konstantin
16.10.2017
11:52:39

papa
16.10.2017
11:55:00


V
16.10.2017
12:47:40
всем привет. linux pm6 4.4.0-97-generic #120-Ubuntu. ClickHouse server version 1.1.54292. стабильный из ppa яндекса.
суть в том, во время нагрузочного тестирования грохнул одну из нод (при этом запись продолжилась), после этого все ноды продолжают что-то писать на диск уже 30 минут (причём весьма активно: по 90+ мб/сек, хотя в них точно уже никто не пишет).
как такое может быть?
clickhouse-client --query='SHOW PROCESSLIST' выдаёт, что это пишет дистрибьютед нода, на самой ноде та же команда выдаёт, что процессов нет.
Судя по активности дисковой подсистемы - это фоновое сжатие.
/dev/mapper/vg--pm1-cl 230283684 101426340 117316660 47% /mnt/click
/dev/mapper/vg--pm1-cl 230283684 68251432 150491568 32% /mnt/click
Подобная картина проявляется и на других нодах.
Описание подобной фитчи в документации не нашел.
И почему distributed-нода не прервала процесс записи в неё при выключении ноды без реплики?


Nikolai
16.10.2017
13:39:02
мержи происходят в фоне, это нормальное поведение.
запись в distributed таблицу по-умолчанию асинхронная. данные сначала буферизуются в файлы, затем отсылаются на другие ноды. Если нода не доступна, то запись продолжается, просто данные для такой ноды остаются на диске (в clickhouse/data/database/distributed_table должны быть данные вида user:password@host:port)

V
16.10.2017
13:40:26
мержи чего? сжатие в смысле?

Nikolai
16.10.2017
13:41:36
можно включить синхронную вставку (для Replicated* таблиц): insert_distributed_sync поставить в true в users.xml. тогда ошибка будет непосредственно при вставке

V
16.10.2017
13:43:08
не, у меня без репликации всё
при этом происходит процесс фонового сжатия
почему так?

Nikolai
16.10.2017
13:43:38
мержи чего? сжатие в смысле?
CH хранит данные в кусках. Если просто, каждый запрос вставки порождает кусок. Выгоднее иметь мало больших кусков, чем много маленьких. Поэтому в фоне содержимое объединяется в более крупные куски.

V
16.10.2017
13:44:21
ясно, а насколько это влияет на другие запросы?
т.е. просадки по производительности из-за этого не будет?

Nikolai
16.10.2017
13:46:27
может быть просадка, конечно, так как ресурсы на мерж тратятся :) но в целом не должно быть критично

V
16.10.2017
13:47:05
а можно отключить это? или квотировать?
также вопрос: возможно ли риалтаймово мониторить состояние кластера? т.е. что все ноды доступны и связаны, хотя бы?

Nikolai
16.10.2017
13:48:26
отключать мержи не стоит, так как если их не делать, то через какое-то время все перестанет работать

Google

V
16.10.2017
13:48:57
ясно
а по второму вопросу?

Nikolai
16.10.2017
13:51:56
если правильно помню, в самом CH нет такой возможности. можно, например, переодически проверять ноды снаружи

V
16.10.2017
14:03:43
@kochetovnicolai т.е. я правильно понимаю, что дистрибьютед-таблица выполняет функции защиты данных в случае отказа ноды или всех её реплик? а что будет на чтение? она прочитает из этой временной таблицы?
и после того, как нода включится, что дистрибьютед нода будет ли лить эти данные на нужную ноду и удалять с себя?

Nikolai
16.10.2017
14:04:47
нет, из временной таблицы не прочитает

V
16.10.2017
14:05:42
и с себя удалит?

Nikolai
16.10.2017
14:06:59
да. также, пока данные не будут доотправлены на восстановленную ноду, запросы могут возвращать резные результаты в зависимости от того, на какую реплику пошли за данными

V
16.10.2017
14:07:24
лул
можно, плиз, написать ещё неочевидных для обычных БД вещей
особенно связанных с возможностью про*ба данных или неконсистентной записи/чтения
просто мы собираемся использовать данный продук в продакшене
я занимаюсь его тестированием
и честно говоря от кластеризации не в восторге

Nikolai
16.10.2017
14:12:16
совсем потерять данные, кажется, нельзя (кроме понятных ситуаций, типа смерти всех реплик). В целом, лучше использовать Replicated таблицы. А также можете вставлять данные с insert_distributed_sync, если нужно знать об ошибках вставки сразу.

V
16.10.2017
14:15:51
ок, вопрос: как более-менее нормально работать с большим кластером? доступим на 20 таблиц по 3 реплики? писать скрипты, которые, будут делать мерджед-таблицы и куски XML-файла?
и вообще: насколько я понимаю, при использовании в продакшене, если мы говорим о создании новых таблиц с репликацией (а у нас несколько шардов), то лучше сразу говорить скрипты даже при небольшом количестве шардов?
просто ReplicatedMergeTree крайне через зад создаются, плюс надо учитывать, схему распределеня по шардам и т.д.
(куски XML-файла конфига)

Google

Ilya
16.10.2017
14:22:37

Nikolai
16.10.2017
14:37:11

Petr
16.10.2017
14:39:50
Привет всем, мне нужно прикрутить фронт к базе, запросы к бд отправляю в очередь задач, но вот в чем проблема хоть и кликхаус быстрый, если запрос будет долго выполняться как избежать разрыва соединения?

V
16.10.2017
14:42:23
@qweran @kochetovnicolai ещё вопрос: допустим у нас полностью уничтожилась одна реплика, как её восстановить? при попытке создать на новом сервер пишет со стороны зукипера, что такая реплика уже существует. решалось так: удалял всю ветку реплики в зукипере, потом создавал на новой ноде всё также, как на старой, уцелевшая магическим образом цеплялась к новой ноде и реплицировалась в неё
есть ли нормальное решение? данное выглядит как-то через жопу

Nikolai
16.10.2017
14:44:36
думаю, если делать attach таблицы, то не надо удалять ветку зукипера
или физически переложить table_name.sql в из metadata/database/ другой реплики в аналогичное место

Ilya
16.10.2017
14:50:21

Evgeniy
16.10.2017
14:57:42
есть саксесс стори, в которой использовался этот мануал https://clickhouse.yandex/docs/en/single/index.html#recovery-after-complete-data-loss , зукипер не трогали, перетаскивали метадату с реплик и создавали файл force_restore_data

V
16.10.2017
15:02:30
не менее жопно
а с мониторингом кто-нибудь что-нибудь делал?
особенно состояния кластера
а не в плане того, какие запросы сейчас идут
@kochetovnicolai кстати, ты говорит о фоном мердже. а как так получилось, что у меня из 33гб стало после завершения меджа стало 22гб. не слишком ли большая разница?
учитывая, у меня гарантированно уникальные данные

Yuri
16.10.2017
15:10:48
добрый вечер, не нашли способа, и есть вопрос, есть-ли возможность абсолютно отказаться от CLANG в сборке и использовании clickhouse ?

V
16.10.2017
15:12:33
>добрый вечер, не нашли способа, и есть вопрос, есть-ли возможность абсолютно отказаться от CLANG в сборке и использовании clickhouse ?
зачем?

Yuri
16.10.2017
15:14:07

Nikolai
16.10.2017
15:14:38