@clickhouse_ru

Страница 638 из 723
Denis
28.08.2018
06:35:04
у нас неравномерная нагрузка, поэтому бывает, что 65к зайдет за секунду, а бывает, что за 5 секунд и 100 не наберется
так дело-то не в 65к, а в гранулярности партов. почему-то они вам в разные парты падают, может вы настройки слишком мелко накрутили?

molo4ko
28.08.2018
06:35:48
не крутил вообще ничего вроде, куда смотреть?

в диск не упирается, iostat в порядке

Google
Denis
28.08.2018
06:36:11
ну третий параметр при создании мержтри таблицы

molo4ko
28.08.2018
06:36:14
зукипер отдельно

8192

дефолтный

Denis
28.08.2018
06:37:10
хотя это лучше более шарящие товарищи пусть подскажут. просто сама идея - большие парты делать при инсёрте

molo4ko
28.08.2018
06:37:17
до этого с такой же нагрузкой больше месяца работало

Kirill
28.08.2018
06:38:28
molo4ko
28.08.2018
06:40:23
system.merges на всех трех нодах пустые

хм… мы тут подняли на днях в тестовом режиме машину, на которой созданы те же таблицы, но она в отдельном кластере

и есть такие записи: (простыня удалена) суть в том, что там есть записи с source_replica = IP это машины, которая в read-only режиме предполагается для пассивного стягивания данных с основного кластера

выключил инстанс с предполагаемо пассивной репликой, размер replication_queue пополз вниз

Alexandra
28.08.2018
06:54:58
Nested - это просто несколько массивов с одинаковым префиксом, массивами и пишите.
Я просто мало работала с бд раньше. Я нашла как это сделать с помощью sql-запроса, а вот как сделать именно с помощью этого пакета найти не могу

molo4ko
28.08.2018
06:55:12
у кого-то есть опыт настройки такой репликации? чтобы была машина, которая пассивно пуллит на себя все изменения, не проявляя активного участия в жизни кластера?

Google
Андрэ
28.08.2018
06:57:20
Парни, подскажите, куда покопать пожалуйста. При перезапуске кликхауса в логах зукипера на одной их трех нод пишется много строк вида Got user-level KeeperException ... Error Path:/clickhouse/tables/1-1/table_name/replicas/172.16.100.159/mutation_pointer Error:KeeperErrorCode = NodeExists for /clickhouse/tables/1-1/table_name/replicas/172.16.100.159/mutation_pointer и тому подобное

на машинах была проблема - закончилась память. возможно это "свело с ума" кликхаус или зукипер

Андрэ
28.08.2018
07:00:51
что пересоздать?

Wolf
28.08.2018
07:01:20
Wolf
28.08.2018
07:01:36
не писать?
не пишите

molo4ko
28.08.2018
07:01:54
так я же говорю, там пользователь read-only

Андрэ
28.08.2018
07:02:05
ноду
боюсь, не очень понял, что конкретно имеется ввиду) снести данные кликхауса и пересоздать, чтобы он подтянул все с другой машины?

Wolf
28.08.2018
07:02:43
на машинах была проблема - закончилась память. возможно это "свело с ума" кликхаус или зукипер
@milovidov_an думаю будет логично добавить в документацию что крайне не рекомендуется размещать зукипер на тех же серверах что и кликхаус, проблемы такие постоянно идут из за этого.

Андрэ
28.08.2018
07:03:28
да, есть одна реплика КХ и 2 зукипера

Wolf
28.08.2018
07:03:38
так я же говорю, там пользователь read-only
ну тогда все примерно как вы описываете и работает у вас

Андрэ
28.08.2018
07:03:53
я понял, спасибо. Про разделение машин зукипера и КХ - тоже уже в планах. но пока еще не сделано

Wolf
28.08.2018
07:06:28
просто кх очень легко заставить зажрать память запросом

Kirill
28.08.2018
07:42:26
Я просто мало работала с бд раньше. Я нашла как это сделать с помощью sql-запроса, а вот как сделать именно с помощью этого пакета найти не могу
Сначала сделайте структуру таблицы, потом просто пишите INSERT INTO T (Name, Clients.ID, Clients.Country) VALUES (?, ?, ?) где Clients.ID, Clients.Country - это массивы

Wolf
28.08.2018
07:44:00
ну значит надо написать запрещено распологать зукипер с кх на одном сервере

Google
Alexey
28.08.2018
07:46:00
просто если мало памяти, КХ может всю скушать

Wolf
28.08.2018
07:46:43
ну по чату видно что это очень часто приводит к проблемам

Alexey
28.08.2018
07:46:53
Но не запрещено

Sergey
28.08.2018
07:47:17
Ха. А вот и нет такого в документации. Странно. Где-то точно читал на видном месте, и девопс наш тоже.

Андрэ
28.08.2018
08:21:26
Wolf
28.08.2018
08:21:40
ну это еще хуже , надо тоже в документацию

Konstantin
28.08.2018
08:55:16
при выполнении простого запроса на дистриб таблице КХ падает с ошибкой: Exception on client: Code: 32. DB::Exception: Attempt to read after eof: while receiving packet from localhost:9000, 127.0.0.1 в error log пусто

а теперь стал выполняться нормально

из-за чего такие ошибки могу возникать?

Oleg
28.08.2018
09:07:38
Добрый день! Вопрос по движку Kafka. Что делать, если в топик попали данные, которые некорректно парсятся движком? Каких-то способов скипнуть строку в доке и гугле не нашел

Tima
28.08.2018
09:35:22
Добрый день! Вопрос по движку Kafka. Что делать, если в топик попали данные, которые некорректно парсятся движком? Каких-то способов скипнуть строку в доке и гугле не нашел
Мы для этой ситуации завели отдельную очередь (в раббите). И в процессе обработки потока данных, если нашли битое сообщение, кодом переносим от очередь битых сообшений

Andrew
28.08.2018
09:49:05
игрался с materialized view. По результатам имею в show table этот самый view c именем .inner.ipstat_daily - т.е. начинается с точки. и его не получается удалить.

попытка создать заново - приводит к ошибке Table stat..inner.ipstat_daily already exists

Хотя создается оно как CREATE MATERIALIZED VIEW stat.ipstat_daily ...

документация на предмет inner - молчит

LeiDruid
28.08.2018
09:53:32
.inner - это таблица для резульатов работы matview

Andrew
28.08.2018
09:53:50
разобрался. надо было заново сделать ей attach - тогда удалилась

molo4ko
28.08.2018
10:26:13
@Imaskar @stufently @kshvakov кажется, понял, в чем проблема при настройке пассивной реплики не ожидали, что она полноценно принимает участие в процессе репликации и секьюрити-правила были так настроены, что эта реплика могла обращаться к основному кластеру, а он к ней нет. видимо, что-то пошло не так. сейчас в основном кластере 3 машины с репликацией по 2, но, вероятно, репликация пошла через пассивную машину, попытка стянуть данные зафейлилась и дальше пошло снежным комом

Google
molo4ko
28.08.2018
10:36:06
я там выше писал, “пассивная” в контексте предыдущих сообщений

а вообще - интересное замечение, есть какой-то способ исключить определенные машины?

Denis
28.08.2018
10:39:47
нет. Кто первый встал тот и лидер.

ну третий параметр при создании мержтри таблицы
Это гранулярность индекса, вообще никакого отношения. Слишком подробный индекс приведет к увеличению его в размере и невлезанию в marks cache.

Denis
28.08.2018
10:44:47
я имел в виду увеличить его, а не уменьшить. но скорее всего не его надо увеличивать, а другой параметр, который я точно не помню

но тут уже выяснилось, что всё-таки не из-за быстрой вставки проблема была, а из-за проблем с репликацией

Victor
28.08.2018
10:45:59
Не подскажите когда ждать видео с последнего митапа в спб?

Mike
28.08.2018
11:07:47
Коллеги, подскажите по Engine=Dictionary - при попытке обратиться говорит "2018.08.28 14:06:15.698583 [ 36 ] <Error> executeQuery: Code: 9, e.displayText() = DB::Exception: Sizes of columns doesn't match: id: 0, name: 226, e.what() = DB::Exception (from 127.0.0.1:39970) (in query: select * from dnl.hosts where id=488), Stack trace:" - словарь загружен, количество элементов в нем нужное

Denis
28.08.2018
11:18:51
Если структура словаря меняется, таблицу надо пересоздавать.

Alex
28.08.2018
11:28:43
а вообще - интересное замечение, есть какой-то способ исключить определенные машины?
на самом деле есть, надо выставить настройку MergeTree-таблиц replicated_can_become_leader в 0

Vasilij
28.08.2018
11:32:38
Товарищи, а баг с паролем юзера default как-то вылечивался? Ситуация: для юзера default поставлен пароль, чтобы кто-нибудь нечаянно не залогинившись под ним, не дропнул потом случайно что-то. При попытке alter table ... drop partition ... в реплицируемой таблице, получаю: `Received exception from server (version 18.10.3): Code: 194. DB::Exception: Received from 127.0.0.1:9003. DB::Exception: Received from ...:9000, 10.100.20.22. DB::Exception: Password required for user default. ` Юзер и пароль для реплик в конфиге серверов (<remote_servers>) прописаны.

Wolf
28.08.2018
11:33:40
Наверно надо он кластер его делать, это связано же вроде что не на лидере дропаешь

molo4ko
28.08.2018
11:36:09
на самом деле есть, надо выставить настройку MergeTree-таблиц replicated_can_become_leader в 0
вау, супер. это на верхнему уровне в config.xml? <toplevel> <merge_tree> <replicated_can_become_leader>0</replicated_can_become_leader> </merge_tree> </toplevel>

Vasilij
28.08.2018
11:36:30
Но тогда бы наверное из без пароля не работало. Но работает. Как-то ради альтера поднимать кластер, при том что шард один единственный...

Alex
28.08.2018
11:38:02
вау, супер. это на верхнему уровне в config.xml? <toplevel> <merge_tree> <replicated_can_become_leader>0</replicated_can_become_leader> </merge_tree> </toplevel>
Ага, в merge_tree-секции config.xml. Либо потаблично в CREATE TABLE: CREATE TABLE ... SETTINGS replicated_can_become_leader=0

molo4ko
28.08.2018
11:38:15
Спасибо!

Dmitry
28.08.2018
11:39:12
Могут быть в разных таблицах.
тогда как такое может быть? ┌─partition─┬─table────┐ │ 201807 │ events │ │ 201807 │ events │ │ 201807 │ events │ │ 201807 │ events │ │ 201808 │ events │ │ 201808 │ events │ │ 201808 │ events │ │ 201808 │ events │

база данных одна

и я так понимаю что дроп вынесет сразу несколько партиций

Google
Wolf
28.08.2018
11:42:52
Партиция одна партов в ней несколько

Wolf
28.08.2018
11:43:14
Можно дропать как партицию так и парты

В доке это вроде уже есть, хотя изначально не было

В синтаксисе по моему drop partition, drop part

Или типо того

molo4ko
28.08.2018
11:45:41
@ztlpn а кх умеет конвертировать типы в конфиге? в коде просто M(SettingBool, replicated_can_become_leader, true) 0/1 сработают или нужно явно true/false?

Dmitry
28.08.2018
11:47:05
Партиция одна партов в ней несколько
а как тогда посмотреть парты партиций?

Wolf
28.08.2018
11:47:53
SELECT partition, name, table FROM system.parts WHERE active

Да. Странно, что там до сих пор так не написано...
еще добавить что приложение тоже надо отдельно ставить, вроде уже век виртуализации, но вижу просто постоянно все ставят на голое железо

а как тогда посмотреть парты партиций?
команда выше, ну и сами парты можно просто зайти и глянуть в папке дата в каталоге кликхауса

Alexey
28.08.2018
11:49:41
еще добавить что приложение тоже надо отдельно ставить, вроде уже век виртуализации, но вижу просто постоянно все ставят на голое железо
А это не такая большая проблема. Много случаев, когда ClickHouse селят на серверы рядом с MySQL и кучей посторонних демонов. Тут зависит от конкретной ситуации - иногда всё Ок :)

Wolf
28.08.2018
11:50:11
Dmitry
28.08.2018
11:53:29
SELECT partition, name, table FROM system.parts WHERE active
спасибо, наконец я понял

Алексей
28.08.2018
12:59:00


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