@clickhouse_ru

Страница 395 из 723
Firej
19.01.2018
23:05:09
HTTPHandler: Code: 999, e.displayText() = zkutil::KeeperException: connection loss

а потом вроде нормально продолжает работать )

strange
19.01.2018
23:07:03
а потом вроде нормально продолжает работать )
погуглил для себя https://github.com/firehol/netdata/wiki/Monitor-application-bandwidth-with-Linux-QoS

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
Наверное, если знать, какие именно ключи там кликхаус создаёт, можно что-нибудь выяснить. (Советы от безумного сисадмина.) Но я бы посмотрел через netstat или tcpdump кто к нему запросы шлёт.
не, мне не разово надо, а на постоянной основе ну то есть я хочу знать есть ли где то в экосистеме clickhouse текущий state кластера и я кажется понимаю, что если при select zookerper не используется и state просто размазан по конфигам и наверное в коде никакой имплементации на эту тему нет ключи в zookeeper я уже посмотрел, ничего интересующего меня не нашел, расстроился ;)

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
хороший вопрос

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

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

Felixoid
20.01.2018
17:24:03
Тем, что человек хочет получить эти информацию запросом к zookeeper.
Кажется, задача "текущий state кластера", а не "через zookeeper"

Алексей
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
Кажется, задача "текущий state кластера", а не "через zookeeper"
нет задача "текущий state кластера через zookeper" в принципе реализуемо все просто надо чтобы в кластере уже были созданы ReplicatedMergedTree таблицы

Felixoid
20.01.2018
17:38:45
нет задача "текущий state кластера через zookeper" в принципе реализуемо все просто надо чтобы в кластере уже были созданы ReplicatedMergedTree таблицы
То есть, вы хотите так же, как и ClickHouse, подписаться на ноды определенной таблицы, чтобы знать о состоянии? Понятно, спасибо

Evgenii
20.01.2018
17:48:28
https://github.com/yandex/ClickHouse/blob/master/docker/server/Dockerfile тут вот
Я задаю конкретные айпи которые он должен слушать и запускаю контейнер с нет хост. Вроде все нормально работает. Проблема только с 0.0.0.0?

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х материализованных полей. Такой ошибки не встречал

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
а как вы его загружаете? каким запросом?
Конкретно этот кусок грузится так chLoader.load(spark, "STATISTICS").where("id in (" + idString + ") and statisticTakenDate > '" + strDate + "'

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
В общем, вопрос в следующем, если выкрутить настройку на размер SQL запроса - это очень плохо? или лучше делить запросы на несколько поменьше.
"надо измерять" олсо, если не изменяет память, разве у кх не для этого как раз случая "внешние данные" сделаны?

https://clickhouse.yandex/docs/ru/table_engines/external_data.html

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

Felixoid
21.01.2018
19:52:26
В общем, вопрос в следующем, если выкрутить настройку на размер SQL запроса - это очень плохо? или лучше делить запросы на несколько поменьше.
У нас был лимит 5кк. Жили так какое-то время, а потом один аналитик убил КХ длинным запросом, который переполнил стек

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

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
Судя по ошибке, в зк уже есть нода для этой таблицы. Вы туда смотрели? /clickhouse/tables/{layer}-{shard}/appmetrika_clicks_replicated - скорее всего, эта нода уже есть
ну такая нода есть в ZK да потому что такая таблица сделана на другой репилке в шарде но насколько я понимаю CREATE TABLE не реплициурется но кажется я понял в чем косяк это потому что порядок полей при создании таблицы у меня может поменяться

Олег Иванович
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 развернут, там точно с сетью нет проблем

кластер по докам собирался

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