
Irina
21.02.2017
11:39:46
А при мердже можно не хранить все в оперативной памяти, а временно куда-то записывать?

Dmitrii
21.02.2017
11:44:01
Всем привет. Я пытаюсь пристрелить сервер с кликхаусом. Стреляя прямо в 8123 порт. Тут вижу, https://overload.yandex.net/9324 что ответы начинают таймаутиться, но судя по мониторингу, в проц я упираюсь не очень уверенно - какими-то пиками. На вкладке мониторинга поядерная статистика и есть cpu-cpu-total. Вероятно я упираюсь во что-то в кликхаусе, в логах такие ошибки 2017.02.21 13:58:56.127662 [ 2819 ] <Error> executeQuery: Code: 24, e.displayText() = DB::Exception: Cannot write to ostream, e.what() = DB::Exception

Dmitry
21.02.2017
11:47:07

Irina
21.02.2017
11:51:22
Когда объединяются большие таблицы, насколько я понимаю.. Памяти не хватает, чтобы запомнить все данные. Ставлю большие значения параметрам, думает..

Google

Irina
21.02.2017
11:53:36
Возможно, я не оптимально использую JOIN? Подскажите альтернативу. Необходимо читать и агрегировать сразу несколько таблиц, из нее составлять некоторую общую статистическую.. Как быть в таком случае?

Mikhail
21.02.2017
12:02:44
Экспериментально выяснил, что aggregation_memory_efficient_merge_threads = 1, но получается довольно медленно. Пробую поставить 2 и посмотреть, что будет.

Dmitry
21.02.2017
12:07:13
Тогда max_bytes_before_external_group_by можно попробовать

Mikhail
21.02.2017
12:15:43
я уже писал:
│ max_memory_usage │ 25000000000 │ 1 │
│ max_bytes_before_external_group_by │ 10000000000 │ 1 │
│ max_bytes_before_external_sort │ 10000000000 │ 1 │
│ max_threads │ 8 │ 1 │
Вот смотрю на эксперимент - aggregation_memory_efficient_merge_threads = 2 работает, сильно быстрее, чем с 1, но память прям на пределе.

Dmitry
21.02.2017
12:37:07
не посдскажите, а нет ли в Clickhouse, что-то похожего на хранимые процедуры?

Dmitry
21.02.2017
12:37:21
Нет

Dmitry
21.02.2017
12:37:51
спасибо

Dmitry
21.02.2017
12:38:06
Вот тут детали можно почитать https://github.com/yandex/ClickHouse/issues/32

Dmitry
21.02.2017
12:38:42
спасибо

Константин
21.02.2017
12:38:50
Добрый день! Скажите, имея сейчас один сервер КХ, можно ли на его основе сделать кластер не теряя данные? И можно ли по ходу работы масштабировать кластер?

Dmitry
21.02.2017
12:38:51
Вот ещё ответ хороший https://github.com/yandex/ClickHouse/issues/11#issuecomment-226350266

Google

Dmitry
21.02.2017
12:39:32
В перспективе что будет, реплики, шарды илито и то?

Константин
21.02.2017
12:40:06
А нет ли наглядного примера как поднять кластер с нуля?
хотим 3 шарда, в каждом по 2 реплики
читал, что там необходимо использовать ZooKeeper
или можно и без него обойтись?

Dmitry
21.02.2017
12:41:43
Если есть реплики - ЗК обязателен
Нужно ли будет при заведении шардов перешардировать текущие данные?
много ли их?

Константин
21.02.2017
12:43:14
у нас 3 таблицы
в сумме 4млрд строк
на одной из таблиц есть materialized view

Dmitry
21.02.2017
12:47:07
4 млд строк - на самом деле очень мало.
Самое простое решение будет потом поднять ещё 5 машин, завести на всех 6ти серверах новые таблицы Replicated + Distributed, а пом просто сделать на первом INSERT INTO Distributed_ТАБЛИЦА from select * from старая таблица

Константин
21.02.2017
12:48:05
планируем кластер поднять с 0, а текущую машино с КХ - в расход ?
получается, что надо будет на один из серверов перенести дата директорию из из нее наполнить уже distributed?

Dmitry
21.02.2017
12:55:25
Нет. Можно на сервере создать distributed таблицу которая ссылается на другой кластер
Надо только конфиг это кластера добавить
Мои крубые прикидки говорят, что при таком раскладе перелить данные можно где-то часа за 3

Константин
21.02.2017
13:29:19
хмм, интересный подход

Google

Константин
21.02.2017
13:30:03
скажите, а как быть с materialized view? Надо тоже делать из него Distributed?
а если вьюшка это SummingMergeTree?
и кстати, я читал, что можно на каждом сервере создать Distributed таблицу
и тогда за данными можно ходить на любой из серверов
получается, если у нас будет 3 шарды в каждом по 2 реплики, то это 6 машин
можно Distributed таблицу создать на всех 6-ти?

Dmitry
21.02.2017
13:35:46
Я бы сказал нужно

Константин
21.02.2017
13:35:59
у нас есть лод балансер, теоретически можно тогда распределить нагрузку на 6 машин
и да, таблицы с движками Memory могут быть Distributed?

Fike
21.02.2017
13:38:27

Константин
21.02.2017
13:42:21
в смысле? собрать кластер на 2 серверах?
1 шарда из 2-х реплик?

Fike
21.02.2017
13:44:06
я до сих пор ни разу не разворачивал кликхаус, но по идее и общим конвенциям оптимальным количеством серверов здесь будет три, если только вы не рассматриваете вариант с одновременным падением двух серверов
возможно, я просто неправильно воспринимаю слово шард

Константин
21.02.2017
14:07:34
в шардах ранятся разные данные
если шард упадет и там не будет реплики, часть данных будет не доступна
*хранятся
это как на винде, можно застрипить папку на несколько дисков

Fike
21.02.2017
14:23:04
Если есть три шарда (= куска данных) с фактором репликации = 2, то три сервера обычно берут на себя конфигурацию следующим образом: host 0:[s0:0, s2:1], host 1:[s1:0, s0:1], host 2:[s2:0. s1:1], где s1:1 - это шард #1, реплика #1. Я думаю, кликхаус в этом не должен отличаться от других приложений.

Alex
21.02.2017
14:27:06
Так можно, но с определёнными сложностями в настройке

Google

Alex
21.02.2017
14:27:12
вот тут было обсуждение: https://groups.google.com/forum/#!msg/clickhouse/GFl04GsTNZg/UvIfdGjuBQAJ

prll
21.02.2017
19:33:23

Алексей
21.02.2017
19:35:23
но спасибо да

Константин
22.02.2017
07:36:17
Скажите, на сколько мощным должен быть сервер под ZooKeeper?
ноды КХ кластера - 15 Гб рам, 4 вЯдра

Виктор
22.02.2017
08:31:22
В принципе, raspberry pi должно быть достаточно

Roman
22.02.2017
08:41:33

Виктор
22.02.2017
08:47:06
На самом деле, от размера кластера зависит
У нас довольно большие железки стоят для кластера из 400+
Но по памяти там не так страшно, гигов 10-20 вроде
По объёму диска не важно, проц там тоже не особо жмётся если я правильно помню
Но хорошо бы SSD

Roman
22.02.2017
08:50:00
То есть на вашем масштабе zk интенсивно но ввод/вывод фигачит?

Виктор
22.02.2017
08:51:12
Там лог пишется, и снепшоты надо быстро переливать
Если я все правильно помню
Ребята говорят, для лога транзакций
Надо чтобы он быстро сбрасывался
Но у нас нагрузка большая, да

Gennadiy
22.02.2017
09:03:37
Добрый день.
Установил clickhouse, при попытке выполнить любую операцию пишет ошибку:
root@server:/etc/clickhouse-server# /etc/init.d/clickhouse-server status
/etc/init.d/clickhouse-server: 303: [: status: unexpected operator
root@server:/etc/clickhouse-server# service clickhouse-server status
/etc/init.d/clickhouse-server: 303: [: status: unexpected operator
{start|stop|status|restart|forcestop|forcerestart|reload|condstart|condstop|condrestart|condreload|initdb}
root@server:/etc/clickhouse-server# cat /etc/issue
Ubuntu 14.04.4 LTS \n \l
можете подсказать как исправить?
Спасибо)
Если открыть файл /etc/init.d/clickhouse-server всё выглядит правильно.

Google

Vladimir
22.02.2017
09:20:44
вроде у них есть бага о том что не надо использовать башизмы и #!/bin/sh

Gennadiy
22.02.2017
09:36:44
Спасибо, помогло.

f1yegor
22.02.2017
12:36:25
По результатам замеров json* значительно медленнее tsv & CSV для Format

Maksim
22.02.2017
12:40:58
но блин настолько удобнее

prll
22.02.2017
12:43:39

Константин
22.02.2017
13:18:41
Скажите, нужно ли вносить какие-то изменения в конфиг ZooKeeper после установки, или там все работает из кробоки? Просто в туториале - этот момент не оговорен...

Dmitry
22.02.2017
13:20:06
https://raw.githubusercontent.com/yandex/ClickHouse/master/doc/administration/tips.txt
With default settings, ZooKeeper have time bomb:
"A ZooKeeper server will not remove old snapshots and log files when using the default configuration (see autopurge below), this is the responsibility of the operator."
You need to defuse the bomb.

Константин
22.02.2017
14:19:57
Дмитрий, спасибо!

Alexander
22.02.2017
15:08:55
А напомните, пожалуйста, что делает параметр distributed_group_by_no_merge?
Борюсь с запросами, где group by по десятку полей, часть из которых вызов словарей и, возможно, джойны. Вертика их как семечки щелкает, а кликхаус уходит в астрал
У меня подозрение, что весь group by происходит на initiator node, вместо того чтобы на шардах сделать большую часть работы

prll
22.02.2017
16:49:27

Олег
22.02.2017
17:38:22
О, а я уронил clickhouse.
Прибил по Ctrl-C в clickhouse-client создание VIEW.
debian, clickhouse-{client,server-{base,common}}-1.1.54159
http://pastebin.com/eXEumprX