
Alexey
27.06.2018
15:58:57

Denis
27.06.2018
16:14:25
это настройка для клиента
set max_query_size = 100000000;
наверное через профиль

Maxoid
27.06.2018
16:15:11
Всем привет!
Может кто знает, можно ограничить количество CPU выделаемого на одну сессию? Нужно выполнить очень сложный запрос который сжирает все ресурсы сервера. Хотелось бы его ограничить

Alexey
27.06.2018
16:33:08

Google

Alexey
27.06.2018
16:58:37
Всем спасибо, сработало после добавления в users.xml!

Николай
27.06.2018
17:51:07

Andrey
27.06.2018
18:02:26

Николай
27.06.2018
18:24:01
Посмотрите в логи. Может CH упал? Например от нехватки памяти.
Сервер не упал. Размер файла для загрузки 50Gb, оперативная память 4Gb, свободно на диске 125Gb. Вот журнал ошибок:
(from thread 21) Received signal Illegal instruction (4).
Illegal operand.
0. /usr/bin/clickhouse-server() [0x7dfa6d8]
1. /авusr/bin/clickhouse-server(DB::ITableDeclaration::check(DB::Block const&, bool) const+0x6e)
2. /usr/bin/clickhouse-server(DB::MergeTreeDataWriter::splitBlockIntoParts(DB::Block const&)
...


Wolf
27.06.2018
18:44:13
она стабильна уже два года


Николай
27.06.2018
18:50:54
Вот весь лог. Идей у меня нет. Поэтому и спросил
(from thread 21) Received signal Illegal instruction (4).
Illegal operand.
0. /usr/bin/clickhouse-server() [0x7dfa6d8]
1. /авusr/bin/clickhouse-server(DB::ITableDeclaration::check(DB::Block const&, bool) const+0x6e) [0x7dfbf0e]
2. /usr/bin/clickhouse-server(DB::MergeTreeDataWriter::splitBlockIntoParts(DB::Block const&)+0xae) [0x7ee9b3e]
3. /usr/bin/clickhouse-server(DB::MergeTreeBlockOutputStream::write(DB::Block const&)+0x5a) [0x7e91eaa]
4. /usr/bin/clickhouse-server(DB::PushingToViewsBlockOutputStream::write(DB::Block const&)+0x43) [0x8038e23]
5. /usr/bin/clickhouse-server(DB::AddingDefaultBlockOutputStream::write(DB::Block const&)+0x6b8) [0x7f99f78]
6. /usr/bin/clickhouse-server(DB::SquashingBlockOutputStream::write(DB::Block const&)+0x45a) [0x803ee6a]
7. /usr/bin/clickhouse-server(DB::CountingBlockOutputStream::write(DB::Block const&)+0x2c) [0x7fbeebc]
8. /usr/bin/clickhouse-server(DB::TCPHandler::receiveData()+0xb1) [0x2cda2b1]
9. /usr/bin/clickhouse-server(DB::TCPHandler::receivePacket()+0xcd) [0x2cdb77d]
10. /usr/bin/clickhouse-server(DB::TCPHandler::readData(DB::Settings const&)+0x1c3) [0x2cdbc43]
11. /usr/bin/clickhouse-server(DB::TCPHandler::processInsertQuery(DB::Settings const&)+0x206) [0x2cdbfe6]
12. /usr/bin/clickhouse-server(DB::TCPHandler::runImpl()+0x477) [0x2cdc667]
13. /usr/bin/clickhouse-server(DB::TCPHandler::run()+0x2b) [0x2cdd4bb]
14. /usr/bin/clickhouse-server(Poco::Net::TCPServerConnection::start()+0xf) [0x86d549f]
15. /usr/bin/clickhouse-server(Poco::Net::TCPServerDispatcher::run()+0x16a) [0x86d587a]
16. /usr/bin/clickhouse-server(Poco::PooledThread::run()+0x77) [0x8776a37]
17. /usr/bin/clickhouse-server(Poco::ThreadImpl::runnableEntry(void*)+0x38) [0x8772c48]
18. /usr/bin/clickhouse-server() [0x8dd3a8f]
19. /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba) [0x7f58b06e26ba]


?
27.06.2018
18:53:31
такое бывало из-за проблем с сетью. а клиент сам подключается?

Николай
27.06.2018
18:54:47
И сервер, и клиент на одной машине. Простые запросы в клиенте выполняются (создание таблицы, вставка записей, удаление таблицы)
Вот это например отрабатывает
CREATE TABLE aggregates
(
name String,
date Date,
ids AggregateFunction(uniq, UInt8)
) ENGINE = MergeTree(date, date, 8192)
INSERT INTO aggregates SELECT
'Demo',
toDate('2016-12-03'),
uniqState(arrayJoin([1, 5, 6, 7]))

?
27.06.2018
18:58:42
а уровень логгирования <logger> в конфиге какой?

Wolf
27.06.2018
18:59:02
если уверены что данные не битые, посмотрите еще системный лог и dmesg

Google

Wolf
27.06.2018
18:59:10
Кх последней версии?

Николай
27.06.2018
19:03:35
а уровень логгирования <logger> в конфиге какой?
Я присылал сообщения уровня Error. Есть ещё других уровней <Debug> executeQuery: (from [::ffff:127.0.0.1]:51798, query_id: 823c4df8-7beb-42d9-a06a-ebef84765396) INSERT INTO qoe_data FORMAT Native
<Information> StatusFile: Status file /var/lib/clickhouse/status already exists - unclean restart. Contents:

Michal
27.06.2018
20:07:22

Maxoid
27.06.2018
20:08:41

Michal
27.06.2018
20:11:01

Maxoid
27.06.2018
20:12:01

Alexey
27.06.2018
20:12:11


Николай
27.06.2018
20:12:58
Всем спасибо за участие!

Aliaksandr
27.06.2018
21:36:19

Kirill
28.06.2018
05:20:08
Спасибо, понял
Это не правда, в КХ вполне себе есть разряженые индексы, рулится это index_granularity (по умолчанию 8192) и тем самым "primary key"

Maxoid
28.06.2018
05:34:41

LeiDruid
28.06.2018
06:08:15
Товарищи, есть вот такая вьюха:
CREATE VIEW view1
AS
SELECT
*
FROM
tbl1
UNION ALL
SELECT
*
FROM
tbl2
Как следует из вьюхи, набор полей в tbl1 и tbl2 одинаковый, но есть отличие - в индексе поля в разном порядке
При запросе из таблицы есть ощущение, что игнорируются все индексы в запросе и просто вычитывается весь объем данных.
Так и задумано?
Есть ли способ вьюхе использовать индексы ?

Kirill
28.06.2018
06:31:41

LeiDruid
28.06.2018
06:32:08
оок
спасибо, Кирилл

Yaroslav
28.06.2018
09:03:50
Всем привет, никто не сталкивался с такой проблемой: при запросе данных на Python с использованием HTTP API clickhouse возвращает не gzip, а обычные строки, несмотря на 'Accept-Encoding': 'gzip' заголовок и enable_http_compression=1 в query. Может что-то еще необходимо указать?

Michal
28.06.2018
09:16:31

Google

Yaroslav
28.06.2018
09:17:45
курлом работает, а вот даже просто через requests если запрашиваю, то возвращает обычные строки(
причем compress=1 работает, возвращает сжатые данные

Michal
28.06.2018
09:27:53
А может быть ваш клиент Python просто благополучно распаковал для вас данные?

Tima
28.06.2018
09:28:20

Michal
28.06.2018
09:28:46
Большинство HTTP клиентов это умеют делать, чтобы не напрягать пользователя всякими мелочами.

Alexey
28.06.2018
09:31:58
Всем привет!
Искал тут в сети и так не нашел никакой информации, как эксплуатируется ClickHouse в самом яндексе. Может плохо искал или это закрытая инфа. Но если не так, то может кто видел подобные доклады или статьи? Потому что пободные бест практикс, я думаю, очень бы пригодились многим.
Из всего что видел, это только то, что в кластере 300 машин :) А хотелось бы всё таки узнать поближе как это работает в метрике.

Yaroslav
28.06.2018
09:39:37
я попробовал просто gzip файл по урлу получить - его он как нужно скачал) а вот clickhouse как будно не хватает что-то:D

Victor
28.06.2018
09:40:58

Alexey
28.06.2018
09:41:50

mold
28.06.2018
09:44:14
Доброго времени суток! Сюда уже писал. Хочу реализовать систему суточные бэкапы. Столкнулся с проблемой следующего харрактера: при запросе "SELECT name, partition, table, database FROM system.parts WHERE active AND database = 'production';" получаю такой вывод ['20180305_20180331_2_86_2', '201803', 'table', 'production']. Но в мане при заморозке таблиц "ALTER TABLE production.table FREEZE PARTITION partition;" Как вычленить имя partiotion в формате YYYYMMDD?

Firej
28.06.2018
09:48:17
товарищи, а как DateTime обратно в unixtime/timestamp скастовать?

Yaroslav
28.06.2018
09:48:17
если я правильно тебя понял, то вместо select name можно использовать select extract(name, '([0-9]{8})[_].*')
toUnixTimestamp('2018-05-04 00:00:00')

Firej
28.06.2018
09:49:57
о, огонь

Kirill
28.06.2018
09:57:22

Alexey
28.06.2018
09:59:03

Yaroslav
28.06.2018
10:41:16
возвращаясь к вопросу о gzip ответе clickhouse))
Может кто заметит ошибку?
a = requests.get("http://localhost:8123/?enable_http_compression=1&query=SELECT%20number%20FROM%20system.numbers%20LIMIT%2010", headers={'Accept-Encoding': 'gzip'})
никакх заголовков больше не нужно передавать?

Tima
28.06.2018
10:47:47
http://docs.python-requests.org/en/master/community/faq/

Yaroslav
28.06.2018
10:50:36
Ок, спасибо)) все таки преобразует

Google

Yuran
28.06.2018
11:01:28

mold
28.06.2018
11:01:49
А как сделать партиции под дням?

Kirill
28.06.2018
11:03:53

mold
28.06.2018
11:04:05
Для реализации суточных быкапов

Kirill
28.06.2018
11:04:32

mold
28.06.2018
11:04:57
А как лучше? Т.з от разрабов моих стоит чтоб сутоные были

Kirill
28.06.2018
11:06:15

mold
28.06.2018
11:06:33
Как это будет влиять на скорость восстановления?

Kirill
28.06.2018
11:06:53
Никак не будет
Там хардлинки ставятся

Alex
28.06.2018
11:18:04
коллеги, подскажите пожалуйста, при падении одного из 3х зукиперов таблицы сваливаются в read-only mode, разве оставшихся двух нод не должно хватать для кворума? судя по логу кх пытается все время подключиться к упавшей ноде

Kirill
28.06.2018
11:21:10
Ну какой кворум из двух нод =)

Alex
28.06.2018
11:22:30
две из трех

Jen
28.06.2018
11:22:51
а кейс, когда они не договорились?

Alex
28.06.2018
11:23:22
эм..не договорились кто мастер?

papa
28.06.2018
11:23:29
у них же не демократия

M
28.06.2018
11:23:30
мертвая нода не дает голоса

Alex
28.06.2018
11:23:38
то есть по вашем если в кластере 3 ноды, то падение одной ноды убивает весь кластер?)

M
28.06.2018
11:23:39
выходит каждый за себя проголосовал

Wolf
28.06.2018
11:23:52

Google

Kirill
28.06.2018
11:23:54

M
28.06.2018
11:24:32

Wolf
28.06.2018
11:25:36

Kirill
28.06.2018
11:26:28

Anton
28.06.2018
11:32:18
Что-то найду в доке как выполнять INSERT по полю типа Array(T)
В скобках? Через запятую? Как JSON?

Michal
28.06.2018
12:04:56
А вы у самого Clickhouse спросите :)
select groupArray(number), groupArray(toString(number)), groupArray(toDate(number)) from numbers(3) format Values;
([0,1,2],['0','1','2'],['0000-00-00','1970-01-02','1970-01-03'])
1 rows in set. Elapsed: 0.007 sec.

Anton
28.06.2018
12:06:09
А вы у самого Clickhouse спросите :)
select groupArray(number), groupArray(toString(number)), groupArray(toDate(number)) from numbers(3) format Values;
([0,1,2],['0','1','2'],['0000-00-00','1970-01-02','1970-01-03'])
1 rows in set. Elapsed: 0.007 sec.
спс)


Andrew
28.06.2018
12:24:02
всем привет! подскажите, пожалуйста, в чем может быть проблема. коннекчусь к КХ из питона с помощью clickhouse-driver:
from clickhouse_driver import Client as ClickHouseClient
ch = ClickHouseClient('ck.host', database='test', send_receive_timeout=5, verify=False)
print(ch.execute('show tables'))
print(ch.execute('select * from test3'))
print(ch.execute("insert into test3 (object_id) values (30429955)"))
show и select отрабатывают отлично, а вот insert зависает и в итоге отваливается по таймауту (socket.timeout: timed out)
в консольное КХ этот же инсерт норм работает. (в коде таймаут выставил 5 вместо 300, т.к. результат такой же, чтоб не терять времени)
в логах КХ во время инсерта выпадает такое:
2018.06.28 12:20:42.151420 [ 8 ] <Trace> TCPHandlerFactory: TCP Request. Address: 127.0.0.1:42040
2018.06.28 12:20:42.211033 [ 8 ] <Debug> TCPHandler: Connected ClickHouse python-driver version 1.1.54337, database: pb_test, user: default.
2018.06.28 12:20:42.272640 [ 8 ] <Debug> executeQuery: (from 127.0.0.1:42040, query_id: cd808beb-4cd3-4cb8-ba3a-7838e916aa12) insert into test3 (object_id) values
2018.06.28 12:20:47.330652 [ 8 ] <Debug> MemoryTracker: Peak memory usage (total): 0.00 B.
2018.06.28 12:20:47.330710 [ 8 ] <Information> TCPHandler: Processed in 5.059 sec.
2018.06.28 12:20:47.330813 [ 8 ] <Information> TCPHandler: Done processing connection.
вообще insert делаю в таблицу ReplicatedMergeTree, но пробовал и в MergeTree.
что может быть не так, уже не знаю, куда смотреть


antuan
28.06.2018
12:35:21
по умолчанию подключение идет по хттп, если я не ошибаюсь, у питонячьего драйвера
мб порт закрыт?
хотя нет, по умолчанию 9000
обманул

Dmitry
28.06.2018
12:44:57
Всем привет! Подскажите, плз, как проверить, что строка s1 является постфиксом строки s2 (аналог endswith в Python). Только через substring это можно сделать?