@clickhouse_ru

Страница 587 из 723
Wolf
12.07.2018
12:11:18
а какой смысл в балансере

?

Stanislav
12.07.2018
12:12:21
там идёт соединение кх сразу ко всем узлам из конфига, балансер не нужен, достаточно прописать нужное куда надо

Wolf
12.07.2018
12:13:25
ну просто балансер у вас в итоге станет единой точкой отказа

Google
Wolf
12.07.2018
12:13:29
какой в этом смысл

если у вас много зк в разных дц то может какой то смысл и есть нно опять таки это крайне сложный конфиг

Александр
12.07.2018
12:14:29
Я прописал все ноды кластера зк, но при отключении одного узла зукипера кх уходил в режим чтения и переставал писать в таблицы. Поэтому решил провести экперимент с балансером, как единственным узлом зукипера в конфиге кх.

Wolf
12.07.2018
12:14:45
это не будет влиять

вы криво настроили зк

либо у вас два узла зк

а для зк надо больше половины нод для кворума

два двух нод зк это 2

то есть надо зк иметь 1 -3 -5 -7 -9 и тд

Kirill
12.07.2018
12:16:29
Не обязательно четное, ПРОСТО КВОРУМ ТАМ ПОЛОВИНА + 1

Александр
12.07.2018
12:16:42
всего 3 узла. Один отключаю (остается 2 - кворум), и подключаю кх, потом включаю 3-й узел кластера, и отключаю один из предыдущих (лидер меняется с одного узла на другой). в этот момент запись прекращается.

Kirill
12.07.2018
12:16:46
случайно капс жамкнул, сорри

Stanislav
12.07.2018
12:17:54
Перед отключением второго дожидаетесь синхронизации зк?

Google
Александр
12.07.2018
12:19:42
друг за другом, один включил - другой отключил. Подскажите, пожалуйста, как отследить статус синхронизации в зукипере?

Stanislav
12.07.2018
12:22:45
в логах смотреть надо. Правда, что там по этому поводу должно писаться уже ен помню.

Александр
12.07.2018
12:25:46
Спасибо еще раз) стало понятнее в какую сторону двигаться

Александр
12.07.2018
12:32:42
Просто я только повстречал этих друзей) пытаюсь разобраться в логике работы связки, к сожалению в документации не нашел информации про это

Wolf
12.07.2018
12:33:23
ну логика она слава богу общая для всех

Александр
12.07.2018
12:37:34
логично) я имел ввиду процесс хождения данных от кх, принимающего запросы, на реплику через зукипер

Oleg Bazdyrev
12.07.2018
13:56:23
не могу запустить кликхаус из-за ошибок вида "Cannot create table from metadata file /var/lib/clickhouse/metadata/database/table.sql, error: ZooKeeperImpl::Exception: Session expired" на старой версии вроде работало терпимо Как с таким бороться? Есть какой-то таймаут зукипера?

Wolf
12.07.2018
14:00:13
ну он не может видимо подключиться к зк

попробуйте телнетом работает ли коннект ок

Oleg Bazdyrev
12.07.2018
14:02:27
20+ старых кликхаусов прямо сейчас работают нормально, а новые не хотят стартовать

Зк-то работают, проверял

Vitaliy
12.07.2018
14:06:31
кто-то пробовал удалять данные с ReplicatedMergeTree с большим датасетом? нафига оно перетряхивает всю таблицу, когда я четко задал временный интервал?

Sergey
12.07.2018
14:09:41
по чейнджлогу они 2 года и несколько месяцев назад вышли из беты :)
Тогда тем более, почему оно до сих пор не в сравнении?

@milovidov_an Алексей, не хочешь добавить в бенчмарки Apache Kudu? https://clickhouse.yandex/benchmark.html

Vitaliy
12.07.2018
16:47:55
Wolf
12.07.2018
16:48:12
Что такое ета

Google
Wolf
12.07.2018
16:48:30
Тут же опенсоурс как сделают так сделают

Удаление вообще обещали в первом квартале а появилась аж в третьем в итоге

Ievgen
12.07.2018
17:24:03
Всем привет, я немного подзастрял, и буду очень благодарен за пинок в нужном направлении, допустим я пишу в Clickhouse статистику по http кодам, в виде инкрементных каунтеров и хочу посчитать rate при помощи runningDifference() если я беру к примеру и ставлю в where http_code = code и считаю по одному коду, все отлично, но если кодов больше 1 никакой group by не спасает, и функция считает дельту между каунтерами разных кодов.

куда смотреть?

Александр
12.07.2018
17:37:02
куда смотреть?
Была подобная проблема. Вариантов два: писать сырые данные, без инкремента. На каждый код делать отдельный запрос.

Ievgen
12.07.2018
17:37:35
последнее не вариант, над первым думал

Александр
12.07.2018
17:40:11
последнее не вариант, над первым думал
В случае с кх правильней будет писать сырые данные

Ievgen
12.07.2018
17:40:20
не хотелось генерировать лишний трафик, реквестов достаточно много, ладно, в любом случае спасибо, если красивых вариантов нет, может придется писать без инкремента

antuan
12.07.2018
17:42:13
А не прокатит что-то типа runningDifference(if(code = 200, counters, 0) ) as counters_200, runningdifference(if(code = 400,counters,0)) as counters_400,... ?

Не в курсе как функция работает:)

Александр
12.07.2018
17:43:22
Можно данные паковать перед тем как отправлять на вставку

Павел Максимов
12.07.2018
18:01:42
Подскажите пожалуйста, словарь выдает ошибку Code: 50, e.displayText() = DB::Exception: Unknown type Array(String) e.what() = DB::Exception словари не поддерживают массивы? вроде раньше помню небыло проблем

antuan
12.07.2018
18:04:21
Не поддерживают и вроде бы никогда не поддерживали

Последние полгода-год так точно :)

Vladislav
12.07.2018
18:09:26
Всем привет :) А никто не в курсе — возможно ли изменить формат лога CH?

Wolf
12.07.2018
18:19:15
Ну он же опенсоурс можно менять как хочешь

Ievgen
12.07.2018
18:21:24
А не прокатит что-то типа runningDifference(if(code = 200, counters, 0) ) as counters_200, runningdifference(if(code = 400,counters,0)) as counters_400,... ?
к сожалению если это нельзя построить динамически вокруг произвольного количества кодов не прибивая гвоздями ничего, то тоже не вариант

Ievgen
12.07.2018
18:24:58
А почему вы думаете, что будет лишний трафик? Вы же не поштучно инсерты делаете
инсерты не поштучно конечно, но точек откуда приходят данные много и они нагружены, собственно для этого и задумывались когда то инкремент каунтеры "на местах", чтобы уменьшить "обьем" передаваемых метрик

Google
Vladislav
12.07.2018
19:34:01
Ну он же опенсоурс можно менять как хочешь
Это понятно, но интересует можно ли это сделать через конфиг без пересборки всего сервера :)

Александр
12.07.2018
20:28:16
инсерты не поштучно конечно, но точек откуда приходят данные много и они нагружены, собственно для этого и задумывались когда то инкремент каунтеры "на местах", чтобы уменьшить "обьем" передаваемых метрик
Кх достаточно много может инсертов принимать. Я когда только начинал использовать КХ, то писал в 100 потоков ) причем инсертил по 2-3 запоса в секунду и КХ сглатывал это все. Писал в одну ноду, но distributed таблицу.

Поэтому не бойтесь писать «лишние» метрики и даже если инсертов из двух-трех мест приходит. Я ловил проблемы, когда КХ не успевал мерджить данные и «подвисал», но это было из-за того, что образ диска лежал на shared маунте по nfs...перевезли на локальную машину и вуаля! Проблем не стало.

Victor
12.07.2018
20:30:11
кстати, господа, объясните мне такой вопрос. Есть тип таблиц Buffer, но кого не почитаешь, все в качестве очереди используют либо каффку, либо тупо в MySQL вставляют, откуда пачками уже отправляют в КХ. Есть какие-то минусы использования Buffer? То что хранится в памяти меня устраивает

Александр
12.07.2018
20:32:59
Ну и бывали случаи когда буфер лагал по какой-то причине

Victor
12.07.2018
20:33:53
ну, применительно к моему случаю, можно, конечно и так попробовать, 1 поток == 1 файл

у меня в рамках потока конкуренции нет

Александр
12.07.2018
20:35:25
ну, применительно к моему случаю, можно, конечно и так попробовать, 1 поток == 1 файл
Я после записи в файл подписываю его суфиксом -flushed, что значит, что файл можно писать в кх. Раз в минуту собираю эти файлы в кучу, списком и пихаю в кх

Konstantin
12.07.2018
20:39:08
у метрики в логс апи нигде нет ключевиков??

Andrew
12.07.2018
21:16:48
Konstantin
12.07.2018
21:17:39
Sergey
12.07.2018
21:56:15
Если таблица назначения является реплицируемой, то при записи в таблицу Buffer будут потеряны некоторые ожидаемые свойства реплицируемых таблиц. Из-за произвольного изменения порядка строк и размеров блоков данных, перестаёт работать дедупликация данных, в результате чего исчезает возможность надёжной exactly once записи в реплицируемые таблицы. В связи с этими недостатками, таблицы типа Buffer можно рекомендовать к применению лишь в очень редких случаях.

Alexey
12.07.2018
23:36:08
@milovidov_an Алексей, не хочешь добавить в бенчмарки Apache Kudu? https://clickhouse.yandex/benchmark.html
В принципе, хочу. Но сейчас добавлять не будем. Стоит иметь ввиду следующие соображения: 1. Добавление новой системы в этот бенчмарк занимает от нескольких дней до двух недель времени одного разработчика. 2. Этот бенчмарк не очень удобен, потому что основан на закрытых данных (датасет из Яндекс.Метрики). Сейчас лучше приложить усилия, чтобы сделать датасет открытым, вместо того, чтобы просто добавлять больше результатов. Недавно для этой цели была разработана утилита clickhouse obfuscator, которая позволяет анонимизировать данные. Требуются ещё некоторые доработки и согласования, и может быть получится сделать открытый датасет с почти настоящими данными.

Ololo
13.07.2018
05:05:17
SELECT query doesn't have required column

Кто-нибудь сталкивался? При джоине.

select terminal_id, remote_id, city from a any left join b using terminal_id, remote_id Запрос выглядит так

Google
Konstantin
13.07.2018
06:30:44
как то в кликхаус застримить ключевые слова с поиска и директа возможно?

Artem
13.07.2018
08:50:12
Джентельмены, а есть более быстрый способо смигриовать 1.5ТБ логов с Постгреса на КХ?

Желательно, быстрее чем через csv :)

Пока нашел только https://habr.com/post/416681/

возможно есть другие варианты?

Konstantin
13.07.2018
08:56:00
мб подключить как словарь?)

antuan
13.07.2018
08:57:53
ну или словарь, угу :)

Oleg Bazdyrev
13.07.2018
09:48:10
ПРивет! В логе горы ошибок вида "(StorageReplicatedMergeTree): DB::StorageReplicatedMergeTree::queueTask()::<lambda(DB::StorageReplicatedMergeTree::LogEntryPtr&)>: Code: 33, e.displayText() = DB::Exception: Cannot read all data, e.what() = DB::Exception" что это, и как с этим бороться?

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