
Firej
19.01.2018
23:05:09
HTTPHandler: Code: 999, e.displayText() = zkutil::KeeperException: connection loss
а потом вроде нормально продолжает работать )

strange
19.01.2018
23:07:03

Firej
19.01.2018
23:07:22
йуху )

Google

Firej
19.01.2018
23:08:00
ну я прохо хотел услышать - "да, такое бывает, все норм"

Anton
19.01.2018
23:10:19

Firej
19.01.2018
23:11:44
? тогда пойду спать )

prll
20.01.2018
00:04:58
у тебя сервис лежит а ты спать!

Сергей
20.01.2018
00:13:02

Anton
20.01.2018
00:34:51

Олег Иванович
20.01.2018
05:06:16
в одном из проектов КХ используется как архивная БД
вопрос
как лучше хранить JSON данные произвольной структуры?
... т.е. данные выгружаются из NoSQL БД

kamish
20.01.2018
06:30:20
тут вам не монга =) смотря на то, насколько произвольная структура
если повезёт, то сможете обойтись полями с DEFAULT 0 или типа того

Олег Иванович
20.01.2018
07:21:25
@kamish а что, только монга является NoSQL БД? и на ней все заканчивается?

Олег
20.01.2018
07:37:09
JSON-данные произвольной структуры можно в виде строки хранить в колонке типа «строка». Для архивной базы, надо полагать, большего от них не требуется, если придёт время обрабатывать — можно будет выкачать, и внешним софтом десериализовать и обработать.
Если надо из этой структуры что-то выцеплять и, скажем, строить индексы или что-нибудь подсчитывать, то это уже не совсем произвольная структура, и то, что надо выцеплять, можно вынести в отдельные колонки. Если совсем никак не получится упихнуться в sql, то да, извините, кликхаус не документоориентированный, он чуть для другого. Впрочем, мне сходу не представить задачу, где одновременно нужна и архивность/эффективный time series, и сложная структура документов по делу (если не по делу — сериализуется в строчку и базе пофиг, что там).


Slach
20.01.2018
12:36:33
Всем привет
а никак нельзя из zookeeper узнать список серверов которые есть clickhouse cluster??
я просто смотрю что там только /clickhouse/task_queue и /clickhouse/task_queue/ddl создаются ключи по умолчанию и все

Google

Олег
20.01.2018
13:04:51
Наверное, если знать, какие именно ключи там кликхаус создаёт, можно что-нибудь выяснить.
(Советы от безумного сисадмина.) Но я бы посмотрел через netstat или tcpdump кто к нему запросы шлёт.

Slach
20.01.2018
13:11:20

kamish
20.01.2018
13:36:43
у кликхауса есть системные таблички с инфой, если речь об этом

Slach
20.01.2018
13:46:45
у кликхауса есть системные таблички с инфой, если речь об этом
вы про system.zookeeper ?
https://clickhouse.yandex/docs/ru/system_tables/system.zookeeper.html
а вот есть эта информация в самом zookeper ?
дело в том что я в приложении не знаю какие у меня есть сервера в кластере
а вот какие zookeeper сервера есть я знаю
и мне надо найти все сервера clickhouse только из zookeper
это никак?
или чтобы эта инфа появилась, надо ReplicatedMergeTree табличку хотя бы одну создать?
да, так и есть, охохошеньки хохо ;)
чем же все таки яндекс манагерит свой кластер метрики?
ну то есть, как делает service-discovery ?
чтобы прописать все хосты в remote-servers.xml?
c удовольствием бы такой доклад послушал

kamish
20.01.2018
14:11:23
хороший вопрос

Felixoid
20.01.2018
16:49:52

Олег
20.01.2018
17:15:53
Тем, что человек хочет получить эти информацию запросом к zookeeper.

Олег Иванович
20.01.2018
17:16:36
а что мешает сделать такой запрос?

Felixoid
20.01.2018
17:24:03

Алексей
20.01.2018
17:24:19
господа, а директиву LISTEN можно из env задать ?
1.1.54327 поднимался на 0.0.0.0
1.1.54337 поднимается на 127.0.0.1
чего теперь на ci конфиг писать что ли ?
а переменная окружения то особо не спасет. черт.
ага. поломали докер имидж.
https://github.com/yandex/ClickHouse/blob/master/docker/server/Dockerfile
тут вот

Slach
20.01.2018
17:36:04

Felixoid
20.01.2018
17:38:45

Evgenii
20.01.2018
17:48:28

Google

Алексей
20.01.2018
17:57:48
ну я запускаю конфтейнер через giltab-ci. как сервис. мне доступны среди опций запска толко entrypoint: в нем можно задать что нить типа
$ clickhouse-server --listen_host 0.0.0.0
Unknown option specified: listen_host

Dmitry
20.01.2018
19:09:43
Вчера пробовал кликхаус в докере запустить. И выяснил, что докер контейнер не работает. Этот фикс https://github.com/yandex/ClickHouse/pull/1611/files поломал этот фикс https://github.com/yandex/ClickHouse/pull/613/files

nikoinlove
20.01.2018
19:22:56
видна слаженная работа команды

Dmitry
20.01.2018
19:24:38
я было думал issue завести, но как-то написал сюда. ?

Андрей
20.01.2018
19:46:40
Почему в контейнерах sed любят... Мне лично подход графаны больше нравится - всё на переменных.

Алексей
20.01.2018
19:50:25
потому что sed можно везде нафигачать. а переменные это надо в приложении фигачить

Dmitry
20.01.2018
20:11:27
Можно сбацать обертку которая, например, питоном патчит XML из переменных окружения. Сто раз так делал ?


Slach
21.01.2018
09:23:57
всем привет
зачем clickhouse ругается мне на создание вот такой ReplicatedMergeTree таблицы?
CREATE TABLE IF NOT EXISTS metrika2clickhouse.appmetrika_clicks_replicated (
app_id UInt64 DEFAULT 0,
load_time DateTime DEFAULT now (),
click_url_parameters String,
os_version String,
android_id String,
ios_ifv String,
ios_ifa String,
publisher_name String,
publisher_id UInt64,
tracker_name String,
click_id String,
device_manufacturer String,
google_aid String,
tracking_id UInt64,
click_timestamp UInt64,
click_datetime DateTime,
device_type String,
device_model String,
windows_aid String,
click_ipv6 String,
click_date MATERIALIZED toDate (click_datetime),
os_name String,
click_user_agent String,
country_iso_code FixedString (3),
city String
) ENGINE=ReplicatedMergeTree (
'/clickhouse/tables/{layer}-{shard}/appmetrika_clicks_replicated',
'{replica}',
click_date, click_ipv6, (app_id, publisher_id, click_ipv6, tracking_id), 8192
)
выдает
code: 122, message: Table structure in ZooKeeper is too much different from local table structure.
смотрю сюда
https://github.com/yandex/ClickHouse/blob/master/dbms/src/Storages/StorageReplicatedMergeTree.cpp#L547
вижу что у меня "три" материализованных поля, а можно только два?
а почему??? чем это обсуловлено?
https://clickhouse.yandex/docs/ru/table_engines/replication.html
вот тут в документации я ничего такого не вижу =(
кто нибудь натыкался на такое?
ок =( завел баг
https://github.com/yandex/ClickHouse/issues/1803


?
21.01.2018
11:38:41
а как в метрике решается вопрос дабл-хитов, когда один и тот же пользователь в течении определенного времени несколько запросов (просмотров) посылает?
для отчетов надо как-то фильтровать такое, причем во многих местах.


Felixoid
21.01.2018
11:46:53
всем привет
зачем clickhouse ругается мне на создание вот такой ReplicatedMergeTree таблицы?
CREATE TABLE IF NOT EXISTS metrika2clickhouse.appmetrika_clicks_replicated (
app_id UInt64 DEFAULT 0,
load_time DateTime DEFAULT now (),
click_url_parameters String,
os_version String,
android_id String,
ios_ifv String,
ios_ifa String,
publisher_name String,
publisher_id UInt64,
tracker_name String,
click_id String,
device_manufacturer String,
google_aid String,
tracking_id UInt64,
click_timestamp UInt64,
click_datetime DateTime,
device_type String,
device_model String,
windows_aid String,
click_ipv6 String,
click_date MATERIALIZED toDate (click_datetime),
os_name String,
click_user_agent String,
country_iso_code FixedString (3),
city String
) ENGINE=ReplicatedMergeTree (
'/clickhouse/tables/{layer}-{shard}/appmetrika_clicks_replicated',
'{replica}',
click_date, click_ipv6, (app_id, publisher_id, click_ipv6, tracking_id), 8192
)
выдает
code: 122, message: Table structure in ZooKeeper is too much different from local table structure.
смотрю сюда
https://github.com/yandex/ClickHouse/blob/master/dbms/src/Storages/StorageReplicatedMergeTree.cpp#L547
вижу что у меня "три" материализованных поля, а можно только два?
а почему??? чем это обсуловлено?
https://clickhouse.yandex/docs/ru/table_engines/replication.html
вот тут в документации я ничего такого не вижу =(
Судя по ошибке, в зк уже есть нода для этой таблицы. Вы туда смотрели?
/clickhouse/tables/{layer}-{shard}/appmetrika_clicks_replicated - скорее всего, эта нода уже есть


Vladimir
21.01.2018
12:07:49
всем привет
зачем clickhouse ругается мне на создание вот такой ReplicatedMergeTree таблицы?
CREATE TABLE IF NOT EXISTS metrika2clickhouse.appmetrika_clicks_replicated (
app_id UInt64 DEFAULT 0,
load_time DateTime DEFAULT now (),
click_url_parameters String,
os_version String,
android_id String,
ios_ifv String,
ios_ifa String,
publisher_name String,
publisher_id UInt64,
tracker_name String,
click_id String,
device_manufacturer String,
google_aid String,
tracking_id UInt64,
click_timestamp UInt64,
click_datetime DateTime,
device_type String,
device_model String,
windows_aid String,
click_ipv6 String,
click_date MATERIALIZED toDate (click_datetime),
os_name String,
click_user_agent String,
country_iso_code FixedString (3),
city String
) ENGINE=ReplicatedMergeTree (
'/clickhouse/tables/{layer}-{shard}/appmetrika_clicks_replicated',
'{replica}',
click_date, click_ipv6, (app_id, publisher_id, click_ipv6, tracking_id), 8192
)
выдает
code: 122, message: Table structure in ZooKeeper is too much different from local table structure.
смотрю сюда
https://github.com/yandex/ClickHouse/blob/master/dbms/src/Storages/StorageReplicatedMergeTree.cpp#L547
вижу что у меня "три" материализованных поля, а можно только два?
а почему??? чем это обсуловлено?
https://clickhouse.yandex/docs/ru/table_engines/replication.html
вот тут в документации я ничего такого не вижу =(
У меня обычная MergeTree и больше 3х материализованных полей. Такой ошибки не встречал


papa
21.01.2018
13:39:21

Alexandr
21.01.2018
18:50:13
@orantius спасибо, выглядит интересно, буду пробовать

Aleksander
21.01.2018
19:23:04
Всем привет, а кто-нибудь пользовался спарком вместе с КХ? Пытаюсь вычитать датасет, загрузив его из КХ, но КХ ругается (Query is too large (316224). max_query_size = 262144). Сталкивались с таким? Если я просто настройку выкручу на побольше, чем мне это грозит?

kamish
21.01.2018
19:24:19
а как вы его загружаете? каким запросом?

Aleksander
21.01.2018
19:25:56
idString может содержать сотни тысяч айдишников
видимо в этом проблема..

Google

kamish
21.01.2018
19:26:58
это что такое
какой-то спарковский коннектор?

Aleksander
21.01.2018
19:27:26
Ну, я сам его написал
ну точнее, коннектор стандартный
А вот диалект просто для кх чуть поменял

kamish
21.01.2018
19:28:17
хз, какой там в итоге запрос у вас выходит

Aleksander
21.01.2018
19:29:13
Да обычный. Select * from … where id in(….)
В общем, вопрос в следующем, если выкрутить настройку на размер SQL запроса - это очень плохо? или лучше делить запросы на несколько поменьше.

strange
21.01.2018
19:49:51
https://clickhouse.yandex/docs/ru/table_engines/external_data.html

Aleksander
21.01.2018
19:51:28
В символах, как я понял. Так, как я много айдишников туда передал, строка стала слоновьего размера

Felixoid
21.01.2018
19:52:26

strange
21.01.2018
19:52:38
первые два абзаца по ссылке, которую я кинул все равно подходят к вашему описанию

Aleksander
21.01.2018
19:52:59

Felixoid
21.01.2018
19:53:29
Просто анализатор запроса не смог спуститься во все условия :-j

strange
21.01.2018
19:53:32
ну и видимо да, есть там предел все-таки, но вы можете его довольно легко проверить свалив какой-нибудь левый хост кх )
(вспоминая базы 80х) - вы сможете добавить до 64 записей в любой из 255 файлов

Slach
22.01.2018
02:32:15

Олег Иванович
22.01.2018
04:51:22
вопрос не по теме
кто подскажет хороший сервер очередей, взамен RabbitMQ

Google

Stanislav
22.01.2018
05:02:36
У нас - nsq
Попроще RabbitMQ, но дело делает

Олег Иванович
22.01.2018
05:07:21
проще, но не всегда лучше
дело же не всегда в простоте

Andrey
22.01.2018
05:09:03
Чем RabbitMQ не устраивает? Лучше от этого отталкиваться

Олег Иванович
22.01.2018
05:10:11
не справляется
стоит кластер из 5 нод
настройки уже по всякому крутили, в сторону производительности

Andrey
22.01.2018
05:11:29
С каким потоком сообщений он не справляется?

Олег Иванович
22.01.2018
05:11:57
пока небольшой 5к/сек
быстро растет кол-во Erlang processes и все уходит в ребут, каждая нода по очереди

Andrey
22.01.2018
05:23:20
Тогда это не проблема рэбит. 5к он спокойно держит. Скорее всего не правильно кластер собрали. Я бы попробовал такую нагрузку сперва на одном инстансе рэбита. + у рэбита есть известная проблема кластера. Если моргает сеть, то кластер не может восстановиться, м.б. у вас кластер в разных дц

Олег Иванович
22.01.2018
05:43:47
кластер на одном сервере, в docker-compose развернут, там точно с сетью нет проблем
кластер по докам собирался