@clickhouse_ru

Страница 570 из 723
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 выделаемого на одну сессию? Нужно выполнить очень сложный запрос который сжирает все ресурсы сервера. Хотелось бы его ограничить

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

Николай
27.06.2018
17:51:07
clickhouse-client --query="INSERT INTO table FORMAT Native" < table.native
Всем привет! Использовал такой способ вставки. Вот что пишет: Code: 210. DB::NetException: Connection reset by peer while writing to socket (127.0.0.1:9000) В чём причина?

Николай
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
Всем привет! Может кто знает, можно ограничить количество CPU выделаемого на одну сессию? Нужно выполнить очень сложный запрос который сжирает все ресурсы сервера. Хотелось бы его ограничить
Не сжирает, а эффективно использует :P И зачем вам ресурсы на сервере кликхауса, если не для кликхауса? :) А попробовать ограничить можно например с помощью max_threads.

Maxoid
27.06.2018
20:08:41
Не сжирает, а эффективно использует :P И зачем вам ресурсы на сервере кликхауса, если не для кликхауса? :) А попробовать ограничить можно например с помощью max_threads.
Да проблема в том, что пока идёт запрос минуты 2, сервер адски тормозит и не может паралельно обрабатывать другие запросы(

Michal
27.06.2018
20:11:01
Да проблема в том, что пока идёт запрос минуты 2, сервер адски тормозит и не может паралельно обрабатывать другие запросы(
Тогда попробуйте priority. https://github.com/yandex/ClickHouse/blob/2a9088060227f0d63957b95fcb12c9a9e71517a4/dbms/src/Interpreters/Settings.h#L104

Alexey
27.06.2018
20:12:11
Вот весь лог. Идей у меня нет. Поэтому и спросил (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]
Ошибка Illegal Instruction однозначно говорит о том, что CPU не поддерживает требуемый набор инструкций (SSE 4.2). Без этих инструкций ClickHouse всё-равно можно использовать, но придётся собирать самостоятельно.

Aliaksandr
27.06.2018
21:36:19
Всем привет! Может кто знает, можно ограничить количество CPU выделаемого на одну сессию? Нужно выполнить очень сложный запрос который сжирает все ресурсы сервера. Хотелось бы его ограничить
Только если выполнять запросы из-под отдельного юзера с ограниченным количеством используемых ядер проца. Ищите в документации max_threads вроде. Минимальное значение - 1. Также желательно ограничить количество одновременно исполняющихся запросов от этого юзера - см. настройку max_queries вроде. И гляньте chproxy - может пригодиться для форсирования ограничений, если кликхаус "не слушается" :)

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

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

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. Может что-то еще необходимо указать?

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

причем compress=1 работает, возвращает сжатые данные

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

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

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
а сам яндекс не делал докладов по эксплуатации, не встречал?
Не про метрику, есть немного про ClickHouse https://www.youtube.com/watch?v=2QJgCTF1cIE

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
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
выходит каждый за себя проголосовал

Google
Wolf
28.06.2018
11:25:36
Кворум половина серверов + 1
два из трех уже кворум

Kirill
28.06.2018
11:26:28
два из трех уже кворум
2 из 3-х - это и есть половина + 1

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.

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 это можно сделать?

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