
Petr
29.03.2018
17:38:43
) следовало немного дальше прочесть

Wolf
29.03.2018
17:39:20
вообще все это большой геморой, зукипер довольно прост, единственная его сложность что она написан на джаве это реально странно .

Артемий
29.03.2018
17:40:07

Google

Wolf
29.03.2018
17:40:13
их всего времени что я потратил на изучение кх где то один процент я потратил на зукипер

Petr
29.03.2018
17:40:26
java фобия
хотя java мне и самому не по душе

Wolf
29.03.2018
17:41:10
Ну там просто очень многое очень заморочно из джавы и на каких нибудт 128 мегабайт не запустить его толком
а был бы больше рад тут etcd какому нибудть

Petr
29.03.2018
17:42:44
Попробую через шрад вначале, потом зукипер. Спасибо

Wolf
29.03.2018
17:43:18
нужно только учитывать в случае каких то проблем с кх у вас будут разные данные на репликах , не всем это подходит

Petr
29.03.2018
17:44:11
Да, там сказано в доке об этом. Но шард больше для опыта
Нежели как средство для реплики

Michal
29.03.2018
18:56:57
А с ZooKeeper подольше повозиться прийдется
Не надо с ним возиться. ИМХО даже простейшая установка на одной ноде с парой настроек (есть тут: https://clickhouse.yandex/docs/ru/operations/tips/#zookeeper ), будет лучше чем костыли и "мы пойдем своим путём" с rsync.
Правильно конечно - 3 ноды.

Wolf
29.03.2018
18:59:02
и лучше их разнести в разные гео точки , а то так особого смысла нет
а вопрос еще есть, что будет если зукипер не доступен? запись в реплицируемые таблицы блочится или нет ?

Google

Wolf
29.03.2018
18:59:58
у меня там был даунтайм у зукипера сыпались какие то ошибки записи, еще не разбирался

Michal
29.03.2018
19:00:12
С разнесением тут всё зависит от сценария. Вовсе не обязательно. Я бы сказал что разнесение по разным стойкам в серверной уже неплохо.

Wolf
29.03.2018
19:01:06
кликхаус уже просто распределен по шести датацентрам в европе и сша , а зк в одном месте стоит

Alexey
29.03.2018
19:03:35

Wolf
29.03.2018
19:03:53
жаль конечно, видимо надо распределенно поднять 5 зукиперов
думал что запись работает без проблем, пока их нет только не реплицируются данные
но в последний даунтайм облака понял что это не так

Ivan
29.03.2018
19:14:49
Подскажите как решить проблему :
Code: 49. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: DDL background thread is not initialized..

Alexey
29.03.2018
19:18:49

Ivan
29.03.2018
19:19:47
Это есть

Daniel
29.03.2018
19:19:58

Alexey
29.03.2018
19:20:03

Ivan
29.03.2018
19:20:29
Да

Wolf
29.03.2018
19:20:31

Ivan
29.03.2018
19:20:36

Vitaliy
29.03.2018
19:22:39
Да
А можете показать grep DDLWorker /var/log/clickhouse-server/clickhouse-server.log ?

Ivan
29.03.2018
19:22:46
Проблема возникла после того как на шардах удалили таблице. После чего начали создавать новые

Daniel
29.03.2018
19:23:53

Wolf
29.03.2018
19:24:35


Ivan
29.03.2018
19:31:15
А можете показать grep DDLWorker /var/log/clickhouse-server/clickhouse-server.log ?
2018.03.29 19:19:09.234614 [ 2 ] <Debug> DDLWorker: Cleaning queue
2018.03.29 19:19:09.238020 [ 2 ] <Debug> DDLWorker: Processing tasks
2018.03.29 19:19:09.238716 [ 2 ] <Debug> DDLWorker: Waiting a watch
2018.03.29 19:27:20.243406 [ 2 ] <Debug> DDLWorker: Started DDLWorker thread
2018.03.29 19:27:20.257661 [ 2 ] <Debug> DDLWorker: Processing tasks
2018.03.29 19:27:20.261233 [ 2 ] <Debug> DDLWorker: Task query-0000000000 (DROP DATABASE dbname ON CLUSTER my_cluster) has been already processed
2018.03.29 19:27:20.262724 [ 2 ] <Debug> DDLWorker: Task query-0000000001 (DROP DATABASE dbname ON CLUSTER my_cluster) has been already processed
2018.03.29 19:27:20.264300 [ 2 ] <Debug> DDLWorker: Task query-0000000002 (DROP DATABASE dbname ON CLUSTER my_cluster) has been already processed
2018.03.29 19:27:20.267053 [ 2 ] <Debug> DDLWorker: Task query-0000000003 (DROP DATABASE dbname ON CLUSTER my_cluster) has been already processed
2018.03.29 19:27:20.268659 [ 2 ] <Debug> DDLWorker: Task query-0000000004 (DROP DATABASE dbname ON CLUSTER my_cluster) has been already processed
2018.03.29 19:27:20.268686 [ 2 ] <Debug> DDLWorker: Waiting a watch

Google

Ivan
29.03.2018
19:32:38

Wolf
29.03.2018
19:33:52
Ну судя по вашему логу что то у вас не так, как удаляли таблицы?

Vitaliy
29.03.2018
19:34:40


Wolf
29.03.2018
19:35:50
А ддл для удаления таблиц уже работает? , я просто когда тестил оно не работало или как то криво работало, о уже много апдейтов вышло и надобности в нем пока не было.
скорость разработки в нынешнее время поражает конечно, хотя я сам выкатываю апдейты в своем сервисе ежедневно )

Ivan
29.03.2018
19:37:12

Wolf
29.03.2018
19:38:06
Он кластер ?

Ivan
29.03.2018
19:38:18
по запросу
SELECT *
FROM system.zookeeper
WHERE path = '/clickhouse/tables/1/'
осталась одна запись, возможно как-то надо удалить запись эту ?

Wolf
29.03.2018
19:40:23
А на всех серверах выдало что ок удалилось ? и все сервера имели доступ к зукиперу в этот момент?

Ivan
29.03.2018
19:43:48

Aleksey
29.03.2018
22:36:41
Всем привет. Подскажите пожалуйста, правильно я понимаю, что условие where по результату агрегатной функции в одном запросе не может быть выполнено?, Т.е. запрос вида
SELECT
page_id,
uniq(adv_id) AS adv_count,
count() AS hits
FROM page_stat
WHERE adv_count >= 10
GROUP BY page_id
падает с ошибкой и нужно делать что-то вроде
SELECT
page_id,
adv_count,
hits
FROM
(
SELECT
page_id,
uniq(adv_id) AS adv_count,
count() AS hits
FROM page_stat
GROUP BY page_id
)
WHERE adv_count >= 10

papa
29.03.2018
22:40:13
having

Aleksey
29.03.2018
22:41:30
Вот ведь дурная моя голова...спасибо ;)

Petr
30.03.2018
06:26:55
Привет, select * from <some db> where match(<haystack>, <re>) == 1 как то так этим пользоваться?

Alexander
30.03.2018
06:35:34
select * from <some db> where match(<haystack>, <re>)

Алекс
30.03.2018
08:03:06
/stat@combot

Combot
30.03.2018
08:03:07
combot.org/chat/-1001080295593

Aleksander
30.03.2018
08:22:52
Привет =)) Подскажите, пожалуйста, как с помощью КХ, продифференцировать значения(например есть временной ряд, по датам, и на выходе получить ряд состоящий из разницы текущего значения и предыдущего) Ну или тыкнуть в документацию =)

Kirill
30.03.2018
08:24:17

Google

Aleksander
30.03.2018
08:24:33
Огромное спс

Mike
30.03.2018
08:25:18

Kirill
30.03.2018
08:33:21

Mike
30.03.2018
08:34:02

Anton
30.03.2018
08:42:49
В процессе восстановления данных по процедуре https://groups.google.com/forum/#!topic/clickhouse/ETMmRj__wDk
Возник вопрос:
Исходя из документации Преобразование из MergeTree в ReplicatedMergeTree вариант восстановления.
Удалить одну из реплик и восстановить данные в таблицу ReplicatedMergeTree
из данных первой реплики появляется вторая что при больших объемах данных будет
копироваться по сети очень долго. Есть возможность избежать этого процесса используя данные из второй реплики?

Wolf
30.03.2018
08:44:37
видимо нет , там же репликация быстрая, местами утилизирует гигабит на публичной сети

Anton
30.03.2018
08:51:23
в доке написано
Если на разных репликах данные отличаются, то сначала синхронизируйте их, либо удалите эти данные на всех репликах кроме одной.
Что можно избежать этого процесса используя синхронизацию данных. Как ее выполнить? Важно что при падении зукипера отвалился только он, а данные есть от двух реплик.

Stanislav
30.03.2018
08:52:26
rsync, вероятно

Anton
30.03.2018
08:52:43
это не смешно )

Stanislav
30.03.2018
08:53:06
Мне пока проще так...

Anton
30.03.2018
08:56:21
Не, дело в том, что мы восстанавливаемся после разрушения zookeeper. При этом данные обеих реплик остаются нетронутыми. Однако при выполнении ATTACH на 1-й реплике автоматом восстанавливаются данные во второй. Получается, мы никак не используем данные из второй реплики, что очень хотелось бы дабы избежать копирования по сети.


Ivan
30.03.2018
09:00:29
подскажите, есть три шарда.
Делаю запрос след. рода
select sum(impression_cnt) as cnt, sum(click_cnt) as clicks, zone_id AS group_field from view_statistic_by_days_tz3_4_distributed WHERE (campaign_id IN (640)) AND event_date >= '2018-03-24' AND event_date <= '2018-03-30' GROUP BY group_field ORDER BY cnt DESC
В ответ приходит Exception:
Unexpected stack size in PKCondition::mayBeTrueInRange.
И CH уходит в рестарт
Из еррор логов:
2018.03.30 09:01:21.534153 [ 526 ] <Error> BaseDaemon: (from thread 525) Received signal Segmentation fault (11).
2018.03.30 09:01:21.534171 [ 526 ] <Error> BaseDaemon: Address: NULL pointer.
2018.03.30 09:01:21.534183 [ 526 ] <Error> BaseDaemon: Access: read.
2018.03.30 09:01:21.534195 [ 526 ] <Error> BaseDaemon: Unknown si_code.
2018.03.30 09:01:21.620359 [ 526 ] <Error> BaseDaemon: 0. /usr/bin/clickhouse-server(tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int)+0x11b) [0x867e09b]
2018.03.30 09:01:21.620383 [ 526 ] <Error> BaseDaemon: 1. /usr/bin/clickhouse-server(tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long)+0x1c) [0x867e13c]
2018.03.30 09:01:21.620402 [ 526 ] <Error> BaseDaemon: 2. /usr/bin/clickhouse-server(tc_deletearray+0x369) [0x8dbf939]
2018.03.30 09:01:21.620435 [ 526 ] <Error> BaseDaemon: 3. /usr/bin/clickhouse-server(std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release()+0x56) [0x2cc1d36]
2018.03.30 09:01:21.620455 [ 526 ] <Error> BaseDaemon: 4. /usr/bin/clickhouse-server(DB::ExpressionAnalyzer::~ExpressionAnalyzer()+0x405) [0x7ccc4a5]
2018.03.30 09:01:21.620468 [ 526 ] <Error> BaseDaemon: 5. /usr/bin/clickhouse-server(DB::InterpreterSelectQuery::~InterpreterSelectQuery()+0x5b) [0x7ce6d0b]
2018.03.30 09:01:21.620486 [ 526 ] <Error> BaseDaemon: 6. /usr/bin/clickhouse-server(DB::InterpreterSelectQuery::~InterpreterSelectQuery()+0x11) [0x7ce6d51]
2018.03.30 09:01:21.620499 [ 526 ] <Error> BaseDaemon: 7. /usr/bin/clickhouse-server(DB::InterpreterSelectWithUnionQuery::~InterpreterSelectWithUnionQuery()+0x62) [0x7cf9492]
2018.03.30 09:01:21.620510 [ 526 ] <Error> BaseDaemon: 8. /usr/bin/clickhouse-server() [0x7d56f05]
2018.03.30 09:01:21.620539 [ 526 ] <Error> BaseDaemon: 9. /usr/bin/clickhouse-server(DB::executeQuery(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DB::Context&, bool, DB::QueryProcessingStage::Enum)+0x8a) [0x7d573ea]
2018.03.30 09:01:21.620553 [ 526 ] <Error> BaseDaemon: 10. /usr/bin/clickhouse-server(DB::TCPHandler::runImpl()+0x37e) [0x2cd111e]
2018.03.30 09:01:21.620576 [ 526 ] <Error> BaseDaemon: 11. /usr/bin/clickhouse-server(DB::TCPHandler::run()+0x2b) [0x2cd1f2b]
2018.03.30 09:01:21.620589 [ 526 ] <Error> BaseDaemon: 12. /usr/bin/clickhouse-server(Poco::Net::TCPServerConnection::start()+0xf) [0x85caf8f]
2018.03.30 09:01:21.620600 [ 526 ] <Error> BaseDaemon: 13. /usr/bin/clickhouse-server(Poco::Net::TCPServerDispatcher::run()+0x16a) [0x85cb36a]
2018.03.30 09:01:21.620611 [ 526 ] <Error> BaseDaemon: 14. /usr/bin/clickhouse-server(Poco::PooledThread::run()+0x77) [0x8be1c87]
2018.03.30 09:01:21.620623 [ 526 ] <Error> BaseDaemon: 15. /usr/bin/clickhouse-server(Poco::ThreadImpl::runnableEntry(void*)+0x38) [0x8bdde98]
2018.03.30 09:01:21.620633 [ 526 ] <Error> BaseDaemon: 16. /usr/bin/clickhouse-server() [0x8d9675f]
2018.03.30 09:01:21.620644 [ 526 ] <Error> BaseDaemon: 17. /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba) [0x7fe5a94e46ba]
выяснил если изменить запрос на
select sum(impression_cnt) as cnt, sum(click_cnt) as clicks, zone_id AS group_field from view_statistic_by_days_tz3_4_distributed WHERE (campaign_id = 640) AND event_date >= '2018-03-24' AND event_date <= '2018-03-30' GROUP BY group_field ORDER BY cnt DESC
То сервер перестает падать


Wolf
30.03.2018
09:31:23
У вас сколько терабайт данных в кх лежит?

Anton
30.03.2018
09:34:39
Возможно, но все равно немного странно. Мы пробуем процедуру на тестовом кластере - он без нагрузки. Просто залит некий набор данных и по идее данные должны быть идентичны в обеих репликах.
Сейчас 2,5T, будет расти.

Wolf
30.03.2018
09:35:06
ну 2.5 если не охото ждать можно на переносном диске
просто изначальная ситуация не понятна
откуда у вас взялся аттач , если просто развалился зк

Google

Anton
30.03.2018
09:36:29
Изначальная ситуация - отрабатываем полную потерю ZK. Восстанавливаемся по рекомендованной процедуре: https://groups.google.com/forum/#!topic/clickhouse/ETMmRj__wDk

Wolf
30.03.2018
09:39:56
не рассматривал такой сценарий, вообще надеюсь скоро сделаю гео кластер зк их 5 штук и в целом мне кажется будет очень маловероятно такое потерять, ну и бекап же есть

Anton
30.03.2018
09:43:22
Бэкап ZK имеете в виду?

Wolf
30.03.2018
09:45:49
ну да если волнует такая ситуация почему бы и нет

Stanislav
30.03.2018
09:51:32
Осталось понять, как его правильно бекапить...

Oleg
30.03.2018
10:05:42
Подскажите, пожалуйста - я правильно понимаю, что materialized view подключённый к движку kafka аккумулирует события, и select потом позволяет селектить по прошлым событиям? Как в таком случае view очищается?

Tima
30.03.2018
10:08:50

Oleg
30.03.2018
10:10:55
Я имел в виду хаускипинг - если вьюха постоянно накапливает данные, как её мейнтейнить?

Tima
30.03.2018
10:12:18
Для каждой матвьюхи создается таблица с именем имяВьюхи.inner. Пробуйте эту таблицу мейнтейнить

Oleg
30.03.2018
10:12:20
Или рост неограниченный пока не дропнешь и пересоздашь?
А, понятно, спасибо

Tima
30.03.2018
10:13:24
Про имя таблицы - имяВьюхи.inner - скорее всего нужно будет обернуть в такие кавычки ``

Victor
30.03.2018
10:15:49
Подскажите пожалуйста, можно ли при вставке в формате CSV через command-line клиента, вставлять пустые значения, указав DEFAULT в колонке ?
нашел
https://github.com/yandex/ClickHouse/issues/79

Alexander
30.03.2018
11:05:04
Подскажите, как предотвратить репликацию при ATTACH? данные есть в detach на обоих серверах, хотелось бы подключить их

Anton
30.03.2018
11:22:49

Alexander
30.03.2018
11:23:02
я кажется понял в чем дело