Size: a a a

ClickHouse не тормозит

2020 August 25

K

Kid in ClickHouse не тормозит
локально поднимается докер, в нем КХ и могу подключиться и выполнить все
аналогичное не работает в гитлабе
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Alexander Ryzhenko
Доброго времени суток.

Скажите пожалуйста, чем может быть вызвано поведение:

select * from jdbc(....) limit 1

Timeout exceeded while receiving data from server. Waited for 300 seconds, timeout is 300 seconds.
Cancelling query.

потом пол часа в консоли тишина (решил дождаться ответа) и

Received exception from server (version 19.15.3):
Code: 1000. DB::Exception: Received from XXX.XXX.XXX.XXX:9000.
DB::Exception: Timeout.
Query was cancelled.

0 rows in set. Elapsed: 1800.501 sec.


в ремоут таблицах 140М записей. Ремуот база - MS SQL.
Из других таблиц (намного более мелких) данные тянутся нормально
limit 1 работает в КХ, он не транслируется в MSSQL
источник

AR

Alexander Ryzhenko in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
limit 1 работает в КХ, он не транслируется в MSSQL
печаль.
Спасибо
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Alexander Ryzhenko
печаль.
Спасибо
кстати jdbc создан в первую очередь для Java(JMV) баз для которых нету odbc драйверов, это очень глупо использовать jdbc для mssql
источник

K

Kid in ClickHouse не тормозит
Kid
docker run -d --name clickhouse -p 9000:9000 yandex/clickhouse-server:20.1.3.720.1.3.7
docker run --rm --network=host yandex/clickhouse-client --host localhost -q "SELECT now()"
работает
источник

AB

Andrey Bobelev in ClickHouse не тормозит
Привет. У меня репликация в странном состонии находится. Как будто замнулся сам в себе по партам

хост1

Row 1:
──────
database:               local
table:                  audio_local
replica_name:           ch506203
position:               0
node_name:              queue-0000868758
type:                   GET_PART
create_time:            2020-08-24 15:08:43
required_quorum:        0
source_replica:
new_part_name:          202008_66587_66591_1
parts_to_merge:         []
is_detach:              0
is_currently_executing: 0
num_tries:              258
last_exception:         Code: 234, e.displayText() = DB::Exception: No active replica has part 202008_66587_66591_1 or covering part (version 20.3.15.133 (official build))
last_attempt_time:      2020-08-25 17:59:09
num_postponed:          0
postpone_reason:
last_postpone_time:     0000-00-00 00:00:00

1 rows in set. Elapsed: 0.004 sec.


хост2

Row 1:
──────
database:               local
table:                  audio_local
replica_name:           ch506603
position:               0
node_name:              queue-0000868752
type:                   GET_PART
create_time:            2020-08-24 15:08:38
required_quorum:        0
source_replica:         ch506203
new_part_name:          202008_66590_66590_0
parts_to_merge:         []
is_detach:              0
is_currently_executing: 0
num_tries:              189
last_exception:
last_attempt_time:      2020-08-25 17:58:47
num_postponed:          82
postpone_reason:        Not executing log entry for part 202008_66590_66590_0 because it is covered by part 202008_66587_66591_1 that is currently executing
last_postpone_time:     2020-08-25 17:58:35

Row 2:
──────
database:               local
table:                  audio_local
replica_name:           ch506603
position:               1
node_name:              queue-0000868754
type:                   MERGE_PARTS
create_time:            2020-08-24 15:08:42
required_quorum:        0
source_replica:         ch506203
new_part_name:          202008_66587_66591_1
parts_to_merge:         ['202008_66587_66587_0','202008_66588_66588_0','202008_66589_66589_0','202008_66590_66590_0','202008_66591_66591_0']
is_detach:              0
is_currently_executing: 0
num_tries:              187
last_exception:         Code: 234, e.displayText() = DB::Exception: No active replica has part 202008_66587_66591_1 or covering part (version 20.3.15.133 (official build))
last_attempt_time:      2020-08-25 17:58:47
num_postponed:          105
postpone_reason:        Not merging into part 202008_66587_66591_1 because part 202008_66590_66590_0 is not ready yet (log entry for that part is being processed).
last_postpone_time:     2020-08-25 17:58:47

2 rows in set. Elapsed: 0.004 sec.
источник

AR

Alexander Ryzhenko in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
кстати jdbc создан в первую очередь для Java(JMV) баз для которых нету odbc драйверов, это очень глупо использовать jdbc для mssql
но проблему с limit это не решит. Правильно?
odbc у нас девопсы не захотели юзать потому что креды нужно держать в конфигах на надох кликхауса
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Andrey Bobelev
Привет. У меня репликация в странном состонии находится. Как будто замнулся сам в себе по партам

хост1

Row 1:
──────
database:               local
table:                  audio_local
replica_name:           ch506203
position:               0
node_name:              queue-0000868758
type:                   GET_PART
create_time:            2020-08-24 15:08:43
required_quorum:        0
source_replica:
new_part_name:          202008_66587_66591_1
parts_to_merge:         []
is_detach:              0
is_currently_executing: 0
num_tries:              258
last_exception:         Code: 234, e.displayText() = DB::Exception: No active replica has part 202008_66587_66591_1 or covering part (version 20.3.15.133 (official build))
last_attempt_time:      2020-08-25 17:59:09
num_postponed:          0
postpone_reason:
last_postpone_time:     0000-00-00 00:00:00

1 rows in set. Elapsed: 0.004 sec.


хост2

Row 1:
──────
database:               local
table:                  audio_local
replica_name:           ch506603
position:               0
node_name:              queue-0000868752
type:                   GET_PART
create_time:            2020-08-24 15:08:38
required_quorum:        0
source_replica:         ch506203
new_part_name:          202008_66590_66590_0
parts_to_merge:         []
is_detach:              0
is_currently_executing: 0
num_tries:              189
last_exception:
last_attempt_time:      2020-08-25 17:58:47
num_postponed:          82
postpone_reason:        Not executing log entry for part 202008_66590_66590_0 because it is covered by part 202008_66587_66591_1 that is currently executing
last_postpone_time:     2020-08-25 17:58:35

Row 2:
──────
database:               local
table:                  audio_local
replica_name:           ch506603
position:               1
node_name:              queue-0000868754
type:                   MERGE_PARTS
create_time:            2020-08-24 15:08:42
required_quorum:        0
source_replica:         ch506203
new_part_name:          202008_66587_66591_1
parts_to_merge:         ['202008_66587_66587_0','202008_66588_66588_0','202008_66589_66589_0','202008_66590_66590_0','202008_66591_66591_0']
is_detach:              0
is_currently_executing: 0
num_tries:              187
last_exception:         Code: 234, e.displayText() = DB::Exception: No active replica has part 202008_66587_66591_1 or covering part (version 20.3.15.133 (official build))
last_attempt_time:      2020-08-25 17:58:47
num_postponed:          105
postpone_reason:        Not merging into part 202008_66587_66591_1 because part 202008_66590_66590_0 is not ready yet (log entry for that part is being processed).
last_postpone_time:     2020-08-25 17:58:47

2 rows in set. Elapsed: 0.004 sec.
host1 перегрузился и потерял 202008_66590_66590_0 ?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Alexander Ryzhenko
но проблему с limit это не решит. Правильно?
odbc у нас девопсы не захотели юзать потому что креды нужно держать в конфигах на надох кликхауса
да точно, креды лучше прописать в КХ, чтобы кто угодно мог их посмотреть, при том что это окажется опять же в .sql файлах в var/lib
источник

AB

Andrey Bobelev in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
host1 перегрузился и потерял 202008_66590_66590_0 ?
Что-то можно с этим сделать?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Andrey Bobelev
Что-то можно с этим сделать?
с чем с этим? надо сначала понять что случилось, например может у вас 6 реплик и мое предположение про перезагрузку совсем неверное
источник

AB

Andrey Bobelev in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
с чем с этим? надо сначала понять что случилось, например может у вас 6 реплик и мое предположение про перезагрузку совсем неверное
Две реплики. Перезагрузка действительно была и после неё началось отставание.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Andrey Bobelev
Две реплики. Перезагрузка действительно была и после неё началось отставание.
надо грепать лог на сервере который перегрузился по имени парта 202008_66590_66590_0
источник

AB

Andrey Bobelev in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
надо грепать лог на сервере который перегрузился по имени парта 202008_66590_66590_0
No active replica has part 202008_66590_66590_0. Will fetch merged part instead.

Он ждёт, что появится смердженный парт

<Information> local.audio_local: No active replica has part 202008_66590_66590_0. Will fetch merged part instead.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Andrey Bobelev
Две реплики. Перезагрузка действительно была и после неё началось отставание.
если парт на самом деле потерян ( сломан )
то решений несколько https://github.com/ClickHouse/ClickHouse/issues/10368
либо detach partition / attach но надо останавливать заливку и партиция перезакачается на реплику
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Andrey Bobelev
No active replica has part 202008_66590_66590_0. Will fetch merged part instead.

Он ждёт, что появится смердженный парт

<Information> local.audio_local: No active replica has part 202008_66590_66590_0. Will fetch merged part instead.
ну нет конечно, не ждет он смерженного, они _0 (insert) потеряли
источник

AB

Andrey Bobelev in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
ну нет конечно, не ждет он смерженного, они _0 (insert) потеряли
На диске я таких партов не вижу, в detached тоже пусто
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Andrey Bobelev
На диске я таких партов не вижу, в detached тоже пусто
в логах грепать 202008_66590_66590_0 при старте наверное или не нашел или удалил
источник

K

Kid in ClickHouse не тормозит
Такое нашел, локальный докер, в нем много image КХ
захожу в консоль
смотрю cat /var/log/clickhouse-server/clickhouse-server.err.log
и везде такие ошибки:
2020.08.25 15:27:25.604705 [ 1 ] {} <Error> Application: Listen [::]:8123 failed: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = DNS error: EAI: -9 (version 20.1.3.7 (official build)). If it is an IPv6 or IPv4 address and your host has disabled IPv6 or IPv4, then consider to specify not disabled IPv4 or IPv6 address to listen in <listen_host> element of configuration file. Example for disabled IPv6: <listen_host>0.0.0.0</listen_host> . Example for disabled IPv4: <listen_host>::</listen_host>
2020.08.25 15:27:25.604851 [ 1 ] {} <Error> Application: Listen [::]:9000 failed: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = DNS error: EAI: -9 (version 20.1.3.7 (official build)). If it is an IPv6 or IPv4 address and your host has disabled IPv6 or IPv4, then consider to specify not disabled IPv4 or IPv6 address to listen in <listen_host> element of configuration file. Example for disabled IPv6: <listen_host>0.0.0.0</listen_host> . Example for disabled IPv4: <listen_host>::</listen_host>
2020.08.25 15:27:25.604960 [ 1 ] {} <Error> Application: Listen [::]:9009 failed: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = DNS error: EAI: -9 (version 20.1.3.7 (official build)). If it is an IPv6 or IPv4 address and your host has disabled IPv6 or IPv4, then consider to specify not disabled IPv4 or IPv6 address to listen in <listen_host> element of configuration file. Example for disabled IPv6: <listen_host>0.0.0.0</listen_host> . Example for disabled IPv4: <listen_host>::</listen_host>
источник

AB

Andrey Bobelev in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
в логах грепать 202008_66590_66590_0 при старте наверное или не нашел или удалил
Ну собственно да,
2020.08.24 15:31:46.958981 [ 4490 ] {} <Error> local.audio_local: Found part /var/lib/clickhouse/data/local/audio_local/202008_66590_66590_0
2020.08.24 15:31:50.770941 [ 4551 ] {} <Error> local.audio_local: Considering to remove broken part /var/lib/clickhouse/data/local/audio_local/202008_66590_66590_0 because it's impossible to repair.
2020.08.24 15:32:06.619531 [ 3687 ] {} <Error> local.audio_local: Cannot quickly remove directory /var/lib/clickhouse/data/local/audio_local/delete_tmp_202008_66590_66590_0 by removing files; fallback to recursive removal. Reason: Code: 458, e.displayText() = DB::ErrnoException: Cannot rmdir file /var/lib/clickhouse/data/local/audio_local/delete_tmp_202008_66590_66590_0, errno: 39, strerror: Directory not empty (version 20.3.15.133 (official build))
2020.08.24 15:32:08.089922 [ 4642 ] {} <Error> local.content_views_local: Found part /var/lib/clickhouse/data/local/content_views_local/202008_66590_66590_0
2020.08.24 15:32:16.397479 [ 3687 ] {} <Error> local.audio_local: Removing locally missing part from ZooKeeper and queueing a fetch: 202008_66590_66590_0
2020.08.24 15:34:23.744207 [ 4332 ] {} <Warning> local.audio_local (ReplicatedMergeTreePartCheckThread): Checking part 202008_66590_66590_0
2020.08.24 15:34:23.745152 [ 4332 ] {} <Warning> local.audio_local (ReplicatedMergeTreePartCheckThread): Checking if anyone has a part covering 202008_66590_66590_0.
2020.08.24 15:34:23.749936 [ 4332 ] {} <Error> local.audio_local (ReplicatedMergeTreePartCheckThread): No replica has part covering 202008_66590_66590_0 and a merge is impossible: we didn't find smaller parts with either the same min block or the same max block.
2020.08.24 15:34:23.753667 [ 4332 ] {} <Error> local.audio_local (ReplicatedMergeTreePartCheckThread): Part 202008_66590_66590_0 is lost forever.
источник