
antuan
18.05.2018
08:51:37

Kostya
18.05.2018
08:53:39

antuan
18.05.2018
08:54:42

Kostya
18.05.2018
08:56:18
select/epool? :D
Это ясно. Проблема в том, что актуальный read из сокета происходит после большой цепочки вызовов

Google

Evgeny
18.05.2018
09:20:32
День добрый, подскажите такой момент: возможно ли настроить мат.вьюху таким образом, чтобы она хранила argMax колонки из replacingMergeTree таблицы?

antuan
18.05.2018
09:28:04

Stas
18.05.2018
09:32:18
коллеги, а нельзя ли где-то посмотреть сколько времени затрачивается на тот или иной кусок запроса или подзапрос?

LeiDruid
18.05.2018
09:34:21
Но Алексей говорит, в скором времени должно появиться как побочная фича

Kostya
18.05.2018
09:35:25


Daniel
18.05.2018
09:53:17
Поясните, плиз, если для реплики стоит replicated_can_become_leader=0, и умирают все реплики, у которых replicated_can_become_leader=1, станет ли лидером реплика с флагом 0 из оставшихся, когда больше нет реплик с replicated_can_become_leader=1? или репликация сломается?
И где можно почитать про работу https://clickhouse.yandex/docs/en/utils/clickhouse-copier/ в контексте решардинга? Особености работы - оффлайн решардниг, онлайн. Или у кого-то есть опыт такой, просьба поделиться)
Из прочтения доки решение задачи добавления нового шарда и перекидывание на него части данных похоже осуществляется созданием новых частичных дублей решардируемых таблиц на уже существующих шардах. Так ли это?
Из истории чата понял, что добавлять шарды можно и без перешардирования, и это выглядит безопаснее.
Какие могут быть подводные камни, если для нового добавленного шарда сообщить более высокий вес, чтобы на него в первое время шло большее количество записей, дабы его пустого (и его реплики) использовать по-максимуму в первое время, и таким образом избежать перешардирования?


Kirill
18.05.2018
11:12:11
Да, просто пишите в новый. Если вы данные удаляете, то они в какой-то момент выровняются по размеру.

Daniel
18.05.2018
11:13:07
Спасибо @kshvakov

Alexander
18.05.2018
11:36:44
А возможно ли как-то удалить партиции у материлизованной вьюхи?

Kirill
18.05.2018
11:37:44

Google

?
18.05.2018
11:38:38
у меня есть подозрение, что должна существовать функция topKIf, но что-то я ее даже в исходниках не нахожу. это я грежу наяву? )

Stanislav
18.05.2018
11:41:37
Installing new version of config file /etc/init.d/clickhouse-server ...
/var/lib/dpkg/info/clickhouse-server.postinst: 24: [: unexpected operator
/var/lib/dpkg/info/clickhouse-server.postinst: 24: [: unexpected operator
/var/lib/dpkg/info/clickhouse-server.postinst: 24: [: unexpected operator
ругается на if [ "$OS" == "rhel" ] || [ "$OS" == "centos" ] || [ "$OS" == "fedora" ]; then

?
18.05.2018
11:43:43

Stanislav
18.05.2018
11:46:42
Да, та ошибка - в пакете версии 1.1.54381. До 1.1.54378 апгрейдится без проблем
Господа, я не в курсе, где изменилась логика у listen, но стоит где-то это документировать. Сейчас было две записи listen - на :: и на 127.0.0.1
После апгрейда до 54381 таки потребовалось вторую удалить.

Wolf
18.05.2018
11:57:20
ну а зачем вам вторая то ? если вы и так все интерфейсы слушаете?

Stanislav
18.05.2018
11:58:03
По-хорошему - незачем. Но и ругаться надо как-то более прилично в логах, чем "уже кто-то занял порт на 127.0.0.1"
А так - это тестовый сервер, там всяких извращений есть...

Edya
18.05.2018
11:58:38
Коллеги, подскажите, пожалуйста, что нужно сделать чтобы избежать такой ошибки:
[160] ClickHouse exception, code: 160, host: groot-clickhouse.vcp.digitalaccess.ru, port: 80; Code: 160, e.displayText() = DB::Exception: Pattern application proves too difficult, exceeding max iterations (1000000), e.what() = DB::Exceptionпри использовании функций sequenceCount и sequenceMatch. Можно где-то увеличить кол-во итераций? или может что-то другое сделать..?
при этом сами условия выглядят просто:
sequenceCount('(?1).*(?2)(?t>=300).*(?3)')(datetime_server
, ui_type='description'
, ui_type='payment_form'
, name = 'purchase' and object_id = 6
)и для одной строки по которой происходит круппировка никак не может набраться 1млн строк

Олег Иванович
18.05.2018
12:00:39
киньте пожалуйста ссылкой, где написано как правильно настраивается кластер из 2+ нод

Wolf
18.05.2018
12:01:05
ну шарды и реплики разные вещи

Kirill
18.05.2018
12:09:58

Олег Иванович
18.05.2018
12:18:38
а с ZooKeeper и Docker как это добро настраивается?

Kirill
18.05.2018
12:24:23

General
18.05.2018
12:48:30
Ребята, а что делать, если данные после вставки “зависли” в темповой директории distributed?
Был выполнен запрос вида INSERT INTO SELECT FROM, который отработал успешно, но в целевую таблицу попала только часть данных. Причём insert_distributed_sync = 1.
e.g.
1TB clickhouse/data/some_table_distributed/default@192%2E15%2E0%2E100:9000,default@192%2E15%2E0%2E100:9000
При этом в логах видно безуспешные попытки вставить эти данные:
2018.05.18 15:38:25.348033 [ 84 ] <Error> some_table_distributed.Distributed.DirectoryMonitor: Code: 209, e.displayText() = DB::NetException: Timeout exceeded while writing to socket (192.15.0.100:9000), e.what() = DB::NetException, Stack trace:
Здесь нужно увеличить send_timeout? Или может какая-то настройка оси может мешать?
ClickHouse version 1.1.54380


Alexey
18.05.2018
12:58:19
с этого хоста, где some_table_distributed, вы можете подключиться к clickhouse-client -h 192.15.0.100?
юзеру default в users.xml разрешено подключаться к 192.15.0.100?
telnet 192.15.0.100 9000?

Олег Иванович
18.05.2018
13:02:15
Там же всё написано.
прочитал все, так и не нашел, где описана настройка кластера с ZooKeeper и Docker

Google

Daniel
18.05.2018
13:03:59

Kirill
18.05.2018
13:04:14
прочитал все, так и не нашел, где описана настройка кластера с ZooKeeper и Docker
Вот же
Чтобы использовать репликацию, укажите в конфигурационном файле адреса ZooKeeper кластера. Пример:
<zookeeper>
<node index="1">
<host>example1</host>
<port>2181</port>
</node>
<node index="2">
<host>example2</host>
<port>2181</port>
</node>
<node index="3">
<host>example3</host>
<port>2181</port>
</node>
</zookeeper>

Олег Иванович
18.05.2018
13:05:05

General
18.05.2018
13:07:05

Kirill
18.05.2018
13:08:28

Daniel
18.05.2018
13:08:30
в чате было только, что кто-то собирает CH в докере, ничего про ZK.
ZK вообще вспомогательная вещь, для репликации только. CH не поставляется в репозитории с ZK как обязательной зависимостью
и данные хранить в контейнере, вроде бы, очень порочная практика. используйте volume mapping
а отдельно zk в докере можете взять любой, например, здесь.
https://github.com/31z4/zookeeper-docker
3.5.3 хорошо работает, даже несмотря на бета

Рулон
18.05.2018
13:25:39
Коллеги, добавил запись в конфиге, не работает
<format_csv_delimiter>###</format_csv_delimiter>
ссылка не работает https://clickhouse.yandex/docs/ru/docs/ru/operations/settings/settings/#format_csv_delimiter
в кавычки взять не помогло

prll
18.05.2018
13:53:22

Stanislav
18.05.2018
13:53:46
Ясно.

Stanislav
18.05.2018
13:53:59
здрасти. У меня не работает DELETE, не подскажете в чем дело?

Alexey
18.05.2018
13:54:43
а UPDATE?

Konstantin
18.05.2018
13:54:46

Рулон
18.05.2018
13:54:56
Так делиты обещали выложить в конце мая

Dmitry
18.05.2018
13:55:46
?

Stanislav
18.05.2018
13:56:29

Google

Oleg Bazdyrev
18.05.2018
14:08:48
Привет
Есть ли какой-либо таймаут у операций CREATE/DROP TABLE, ATTACH PARTITION?
А то они могут зависать на много-много часов из-за проблем с зукипером

Alex
18.05.2018
14:53:20
Возможно ли кешировать запрос SELECT что бы потом его можно было использовать в секции FROM для запросов UNION ALL ? Как это реализовано в PostgreSQL c помощью WITH

Рулон
18.05.2018
15:02:35

Oleg Bazdyrev
18.05.2018
15:03:24
даже кликхаус не рестартует нормально, только через kill -9


Alexey
18.05.2018
15:10:20
такой вопрос подскажет кто-то: на одной реплике сказал detach partition 201709, скопировал данные из папки detached в detached на реплику другого шарда, сказал на той реплике attach partition. На ней данные подцепились, но на другую реплику этого шарда что-то данные не спешат реплицироваться, в system.replication_queue таски на эту партицию вижу, однако данные что-то не приезжают, смотрю по system.parts
в system.replication_queue у этих тасков не меняется last_attempt_time: 2018-05-18 17:58:02
так и висит
position: 3
node_name: queue-0002396724
type: GET_PART
create_time: 2018-05-18 17:58:02
required_quorum: 0
source_replica: 1clickhouse0003
new_part_name: 20170902_20170930_11_11_0
parts_to_merge: []
is_detach: 0
is_currently_executing: 1
num_tries: 1
last_exception:
last_attempt_time: 2018-05-18 17:58:02
num_postponed: 0
postpone_reason:
last_postpone_time: 0000-00-00 00:00:00
а, тут есть колонка is_currently_executing: 1, типа все нормально? а не вижу в parts, потому что куски большие, еще скопировались что-ли


Рулон
18.05.2018
15:17:29

Alexey
18.05.2018
15:18:10
в папке таблицы

Denis
18.05.2018
15:35:47

Alexey
18.05.2018
15:44:49
сорян, в папке таблицы увидел директории ./tmp_fetch_201709*, по объему видно что все нормально, копируется!
зря вообще паниковал

Андрей
18.05.2018
15:54:02

Alexey
18.05.2018
15:56:47

Alexey
18.05.2018
15:57:06

Alexey
18.05.2018
15:57:18
Опубликованы презентации с C++ митапа:
https://yandex.github.io/clickhouse-presentations/meetup15/architecture/
https://yandex.github.io/clickhouse-presentations/meetup15/lightning/mipt.pdf
https://yandex.github.io/clickhouse-presentations/meetup15/lightning/badoo.pdf
https://yandex.github.io/clickhouse-presentations/meetup15/lightning/ninja.pdf
https://yandex.github.io/clickhouse-presentations/meetup15/lightning/erlyvideo.key
https://yandex.github.io/clickhouse-presentations/meetup15/mergetree/mergetree.pdf
Видео чуть позже.

Андрей
18.05.2018
15:58:13

Google

Андрей
18.05.2018
15:59:42

Alexey
18.05.2018
16:00:12
Никто не напомнит, полосу пропуская репликации никак нельзя ограничить в конфиге?

Alexey
18.05.2018
16:02:45
На селекты. Лог выглядит так: шард выводит ошибку "No part", другой шард (с которого выбирается) - говорит "Cannot read all data".
Если ошибка возвращается на SELECT запрос - значит плохо с данными на файловой системе. Сервер должен пометить куски как битые, отложить в сторону, скачать их с реплики. Если такое происходит постоянно - может быть на сервере есть какой-то посторонний процесс, который делает какие-то манипуляции с данными в файловой системе сам? Также такое может быть, если сервер поднялся с битой файловой системой (возможны самые разные спецэффекты, например, бесконечное выполнение readdir) - в этом случае, при наличии реплики, сервер проще всего переналить.


Андрей
18.05.2018
16:13:10
Если ошибка возвращается на SELECT запрос - значит плохо с данными на файловой системе. Сервер должен пометить куски как битые, отложить в сторону, скачать их с реплики. Если такое происходит постоянно - может быть на сервере есть какой-то посторонний процесс, который делает какие-то манипуляции с данными в файловой системе сам? Также такое может быть, если сервер поднялся с битой файловой системой (возможны самые разные спецэффекты, например, бесконечное выполнение readdir) - в этом случае, при наличии реплики, сервер проще всего переналить.
Похоже, дело было в недоступности zookeeper в один из дней. Сейчас смотрел - ругается только на партиции за один из дней.
Как понимаю, из-за недоступности zookeeper - не создались партиции на части серверов (и для всех таблиц, соответственно).


Alexey
18.05.2018
16:45:04
Недоступность ZooKeeper не влияет на корректность данных. Во время недоступности ZK нет возможности вставить новые данные, приостановлен процесс репликации. SELECT продолжает корректно работать.

Андрей
18.05.2018
18:17:22

prll
18.05.2018
19:03:23

Pavel
18.05.2018
19:49:54
ребят, а как посмотреть размер таблицы в сжатом и не сжатом виде?

antuan
18.05.2018
20:02:06
SELECT table, name, formatReadableSize(sum(data_compressed_bytes)) AS compressed, formatReadableSize(sum(data_uncompressed_bytes)) AS uncompressed, sum(data_uncompressed_bytes) / sum(data_compressed_bytes) AS ratio FROM system.columns WHERE database != 'system' GROUP BY table, name ORDER BY table, ratio DESC;

Pavel
18.05.2018
20:17:57

Alexey
18.05.2018
20:19:09


Stas
18.05.2018
20:34:01
о, я молодец, простым запросом с count и group by смог в Segmentation fault (11) ввеси CH =)
логи есть смысл кому-то отправлять или лучше issue завести?
начало (возможно интригующее): 2018.05.17 18:51:29.405085 [ 60 ] <Error> BaseDaemon: ########################################
2018.05.17 18:51:29.405098 [ 60 ] <Error> BaseDaemon: (from thread 75) Received signal Segmentation fault (11).
2018.05.17 18:51:29.405106 [ 60 ] <Error> BaseDaemon: Address: NULL pointer.
2018.05.17 18:51:29.405113 [ 60 ] <Error> BaseDaemon: Access: read.
2018.05.17 18:51:29.405119 [ 60 ] <Error> BaseDaemon: Unknown si_code.
2018.05.17 18:51:29.423342 [ 60 ] <Error> BaseDaemon: 0. /usr/bin/clickhouse-server() [0x8084338]
2018.05.17 18:51:29.423402 [ 60 ] <Error> BaseDaemon: 1. /usr/bin/clickhouse-server(void DB::Aggregator::executeImplCase<false, DB::AggregationMethodString<HashMapTable<StringRef, HashMapCellWithSavedHash<StringRef, char*, DefaultHash<StringRef>, HashTableNoState>, Defau
ltHash<StringRef>, HashTableGrower<8ul>, Allocator<true> > > >(DB::AggregationMethodString<HashMapTable<StringRef, HashMapCellWithSavedHash<StringRef, char*, DefaultHash<StringRef>, HashTableNoState>, DefaultHash<StringRef>, HashTableGrower<8ul>, Allocator<true> > >&, DB
::AggregationMethodString<HashMapTable<StringRef, HashMapCellWithSavedHash<StringRef, char*, DefaultHash<StringRef>, HashTableNoState>, DefaultHash<StringRef>, HashTableGrower<8ul>, Allocator<true> > >::State&, DB::Arena*, unsigned long, std::vector<DB::IColumn const*, s
td::allocator<DB::IColumn const*> >&, DB::Aggregator::AggregateFunctionInstruction*, std::vector<unsigned long, std::allocator<unsigned long> > const&, std::vector<StringRef, std::allocator<StringRef> >&, char*) const+0xc3) [0x80dd003]


Pavel
18.05.2018
20:37:31
Ребят, а это возможно в MergeTree добавить один из столбцов в primary key?