
Daniel
31.03.2018
18:45:53
Да это понятно. Вопрос в сохранении кворума. Интересно в топологии 3 обычные ноды + 2 обсервера, указывая в конфиге ZK 3 RW ноды, если две из RW нод умрут, будет ли работать репликация и Zкластер в принципе, когда имеется 1 RW нода и 2 обсервера.
Ибо если среди 3 обычных Z-ноды 2 умирают, последняя становится тыквой, и репликация CH тоже становится тыквой.

Denis
31.03.2018
19:00:00
Почитал доку зукипер, в Обсервер можно писать и он передает это лидеру и ждёт ответа от лидера. Но Обсервер не часть ансамбля поэтому кворум он не саппортит и ничем не поможет если 2 ноды ансамбля умрут.

Daniel
31.03.2018
19:20:04
Крайне странная реализация тогда, какой смысл делать было ноды, толерантные к сетевым задержкам, если сами по себе они тыквы и не могут обеспечить работу ансамбля.
В общем вряд ли ZK Observers могут быть как-то полезны для георезервирования репликации ZK.

Google

Wolf
31.03.2018
19:22:40
ну мне кажется если дц не сильно далеко можно и просто зк распределить

Daniel
31.03.2018
19:25:11
Вот и я об этом думаю. Но use case Apache ZK гласит, что Observers для того и придумывались.
"As a datacenter bridge: Forming a ZK ensemble between two datacenters is a problematic
endeavour as the high variance in latency between the datacenters could lead to false
positive failure detection and partitioning. However if the ensemble runs entirely in one
datacenter, and the second datacenter runs only Observers, partitions aren't problematic
as the ensemble remains connected. Clients of the Observers may still see and issue
proposals."
Возможно, для специфических случаев, когда клиенты подключающиеся к ZK имеют низкий таймаут и не могут выдержать подключения к ансамблю в другом ДЦ)

Андрей
31.03.2018
19:31:57
Странное решение, как по мне - иметь кворум в одном ДЦ. Умрёт ДЦ и репликация - тоже тыква.

Daniel
31.03.2018
19:33:02
Да, но разделять кворум по 2 ДЦ тоже плохо - может лагать)) Палка о 2 концах

Wolf
31.03.2018
19:38:06
Лаг не так страшен
Как блок записи
У меня ноды кх в США есть, а зк все в Германии и вроде никаких проблем


Pika
31.03.2018
20:52:08
Есть ли цель для сборки только "клиентских" библиотек? Вижу есть dbms, но он собирает ВСЁ. Нужные исходники не получается перечислить.

strange
31.03.2018
20:59:39

Pika
31.03.2018
21:00:38
Кажется, что вряд ли. Потому что CH это один монолитный бинарник.

strange
31.03.2018
21:02:05
Удивительно, зачем они его на несколько деб пакетов разбивают тогда

Pika
31.03.2018
21:03:36
Ну там есть общая зависимость clickhouse-common-base что ли.

Google

strange
31.03.2018
21:10:13
ты кажется прав
ну и там дальше set (CLICKHOUSE_ALL_TARGETS clickhouse-server clickhouse-client clickhouse-local clickhouse-benchmark clickhouse-performance-test clickhouse-extract-from-config clickhouse-format)

prll
31.03.2018
21:22:01

strange
31.03.2018
21:25:05
В принципе-то все равно не так долго билдится
Интересно, насколько трудно будет это все в модули мигрировать

Pika
31.03.2018
21:25:58

prll
31.03.2018
21:27:58
https://github.com/yandex/ClickHouse/tree/master/utils/travis - вот тут примеры как можно максимально сократить время сборки

Pika
31.03.2018
21:29:34

prll
31.03.2018
21:30:11
почти прозрачно, если оторвал и не собралось - значит зависит 8)

Pika
31.03.2018
21:31:57

Kirill
01.04.2018
06:11:33
У меня тут появился некоторый интерес по запуску ClickHouse в контейнерах и интересно было бы почитать о каких-нибудь success stories по этому поводу. Интересны, в первую очередь: rkt, porto, lxc ну и о docker тоже можно. По porto, по понятным причинам - это всё к Яндекс, кое что есть тут https://www.youtube.com/watch?v=2QJgCTF1cIE , но может где-то что-то есть ещё?

Wolf
01.04.2018
06:24:33
Ну все таки это про докер, и пока тут какие то печальные истории с оф образом кх в докерхабе, яндексоиды обещали делать сборки не на стороне докерхаба а у себя и должно стать все лучше
Я бы сказать честно лучше бы сам эти образы собирал в данном случае
В lxc ещё у меня крутиться тестовый кх, вроде никаких проблем не наблюдаю

Slach
01.04.2018
06:59:01

Kirill
01.04.2018
07:27:16

Wolf
01.04.2018
07:29:34
Да вроде не падает, каких то подводных камней вроде тоже не было

Google

Slach
01.04.2018
07:41:29
проблем с volumes я не заметил
но у меня не продакшен
у меня чисто тестовые среды

Edgard
01.04.2018
10:13:35
Добрый день! Может кто-нибудь знает в каком направлении копать / как решить проблему? Используется async python драйвер, запросы отправляются в 4 потока. Сначала все нормально, но потомк вылезает ошибка
clickhouse_driver.errors.NetworkError: Code: 210. Device or resource busy (localhost:9000)
Сервер GCP, свежий, установлены только clickhouse, pandas, + python драйвер для кх. Понимаю, что скорее всего не под адресу, но все может кто сталкивался.

antuan
01.04.2018
10:32:03
А что за драйвер?

Edgard
01.04.2018
10:52:22

antuan
01.04.2018
10:53:31
Судя по всему, aioch. И судя по сорцам либы, должен использоваться executor, т.е. асинхронность не нативная, а реализована на отдельных процессах/тредах/etc. Что логически наводит на мысль о том, почему ошибка возникла. Вывод: не делать к кх из питона асинхронные запросы, по крайней мере с этой либой. Попробуйте какой-нибудь асинхронный одбц клиент (если для кх реализован одбц интерфейс, не в курсе, есть ли он)
Но с одбц может получиться та же петрушка, так что особо я бы на него не надеялся

Edgard
01.04.2018
10:57:04
ну вот проблема явно в этом, т.е. простой цикл с использованием обычной библиотеки все работает, а вот асинхронный скрипт - ломается (причем даже если выставляю ограничение в 1 поток)

antuan
01.04.2018
10:58:26
А зачем вам асинхронность вообще с кх? Так много конкурентных запросов?
Ещё и с пандасом, так что могу предположить, что нужно просто разово (+/-) загрузить результаты запроса

Edgard
01.04.2018
11:09:07
да, необходимо делать перебор (~миллион комбинаций для arrayExists в where), в пандасе пробовал делать - слишком медленно, через БД быстрее, но хотелось бы еще быстрее, чтобы не сутки ждать пока все варианты не переберутся, а часа 4 хотя бы

Pika
01.04.2018
11:09:21
Раз тут зашло за клиенты CH, то может быть кто0то знает в чём может быть дело. Линкуюсь статически и пытаюсь создать соединение в лоб. Но, когда уничтожаются объекты Connection, ConnectionTimeouts и закрывается логгер Poco, бросается SIGSEGV на мьютексе. Нельзя использовать коннектшены как это делаю я или как-то нужно инициализировать и разрушать Poco явно?
https://pastebin.com/saHpsW25

antuan
01.04.2018
11:26:04


Ivan
01.04.2018
11:36:10
Добрый день!
На VPS на примонтированном диске случился зависон, в результате
<Error> (Data): Considering to remove broken part /mnt/volume-fra1-01/clickhouse//data/mybase/postback/20180401_20180401_1463046_1463046_0 because it's impossible to repair.
Файла по указанному пути не существует. Нагуглить пока ничего не удалось.
пока что перегружать сервис не пробовал, но как обнаружил проблему, попробовал его стопнуть - подвис. принял решение ребутнуть машину. Очень долго поднималась, но ура - поднялась.
Реплики нет. Одна нода.
Буду признателен за любую наводку.

Wolf
01.04.2018
11:38:35
овх сегодня ночью ? ну он потерял часть данных, ругнулся и пошел дальше работать, в чем собственно проблема ?

Ivan
01.04.2018
11:39:09
не поднимается сервис

Wolf
01.04.2018
11:39:59
а проверку диска делали после рестарта ?

Google

Wolf
01.04.2018
11:40:08
что там вообще с файлухой в итоге ?

Ivan
01.04.2018
11:41:50
нет, пока не делал. посмотрю.

Wolf
01.04.2018
11:43:29
у меня что то подобное писал но там реплика есть у кх и вроде как само все просралось, так все таки это ночное падение овх во франции?

Ivan
01.04.2018
11:44:15
это digitalocean - во франкфурте.
FRA1 - у них диски полетели видимо

Wolf
01.04.2018
11:49:13
сегодня поднял там один сервер у до

Ivan
01.04.2018
12:00:25
стопаться упорно не хочет. Повис уже минут 5 как.
/etc/init.d/clickhouse-server stop
Stop clickhouse-server service:

Maksim
01.04.2018
12:19:54

Ivan
01.04.2018
12:21:19
вообще, как не печально, это прод и апдейт давно не накатывался. В пн планировали садиться и делать реплики, но вот он - рок судьбы )
Кстати на ДО до сих пор
1 hour ago
Our engineering team continues to work on a fix for the issue with Block Storage in our FRA1 region. We appreciate your patience and will post an update as soon as additional information is available.

Maksim
01.04.2018
12:21:32
Но желательно взглянуть что там ио
iotop -oa

Ivan
01.04.2018
12:23:43
не знаю, что конкретно там смотреть, но клкхауза там нет, да и впринципе нагрузки нет. нули восновном. проскакивает только постгрес.

Edgard
01.04.2018
13:17:16

Daniel
01.04.2018
13:32:33
Администраторы чата, дабы содержать его в чистоте, рассмотрите возможность запуска сюда бота против спамеров - например вот
https://tgcreator.ru/bot/cleanerchatbot

Александр
01.04.2018
16:48:55
Всем добрый вечер! Уважаемые знатоки, подскажите одну вещь?
Есть кластер 4х2 (4 шарда, 2 реплики). Есть таблица ReplicatedMergeTree, поверх нее есть Distributed.
Мне необходимо раз в сутки чистить данные в этой таблице, которые старше недели от текущего дня. Ключ партиционирования - колонка с типом Date. Я на сервере могу выполнить запрос на получение всех кусков таблицы, но вопрос в том, что я получаю локальные куски...если мне нужн подчистить данные на всем кластере, то это мне ходить потребуется по всему кластеру?
Что бы собрать информацию о чем чистить, т.к. partition в system.parts указывается как месяц, например 201802, а не как день...

Ivan
01.04.2018
16:50:20
а как чистить планировал? тоже есть подобная задача архивации

Александр
01.04.2018
16:50:29

Google

Ivan
01.04.2018
16:50:52
я думал архивировать как то

Александр
01.04.2018
16:50:58
Только вот не понятно одно - нужно ли по кластеру ползать и собирать партиции, которые можно шлепнуть? )
Ну можно сделать detach и архивировать
Нам архив не требуется, т.к. там логи обработки данные, которые актуальны максимум три дня
Похоже придется по всему кластеру ездить и собирать партиции :( Еще проблема с тем, что запрос на удаление партиции реплицируется и тут как бы не знаешь где реплика, где что :) Нужно писать определялку (
Блин, судя по названиям партиций, Clickhouse при указании колонки типа Date в качестве ключа партиционирования наваливает данные в партции по месяцам...

Wolf
01.04.2018
17:13:53
Верно, ну можно чистить просто реже

RUNET
01.04.2018
17:16:17
https://clickhouse.yandex/docs/ru/table_engines/custom_partitioning_key/
Блин, судя по названиям партиций, Clickhouse при указании колонки типа Date в качестве ключа партиционирования наваливает данные в партции по месяцам...

Александр
01.04.2018
17:17:24
Я уже нашел пример с данными за неделю. Можно использовать toStartOfDay()