
LeiDruid
30.08.2018
10:34:15
Отталкивайтесь от начального мануала

Alex
30.08.2018
10:34:40
У меня дофига таблиц там, есть какие-то скрипты?

LeiDruid
30.08.2018
10:35:03
Лучшие скрипты - скрипты, написанные самостоятельно :)

Alex
30.08.2018
10:35:32
А дистрибьютед зачем пересоздавать? и как это делать?

Google

LeiDruid
30.08.2018
10:35:37
Учтите, что имеющиеся данные не "разольются" в новые шарды ровным слоем

Alex
30.08.2018
10:35:59

LeiDruid
30.08.2018
10:36:03
drop table
create table
Всё как в мануале по distributed
Пример есть в доке и в тестах в исходниках

Alex
30.08.2018
10:37:20
Я не совмем понимаю зачем это делать.
Когда я создавал Distributed таблицу я же ей не хосты указывал, а имя кластера. Оно без пересоздания не заработает?

LeiDruid
30.08.2018
10:37:56
Да, по идее, достаточно будет добавить узлы в кластер

Alex
30.08.2018
10:38:35
т.е. не надо Distributed пересоздавать?

LeiDruid
30.08.2018
10:39:14
в вашем случае - только на новых узлах (или там, где она нужна)

Alex
30.08.2018
10:39:36
ок. спс
А схемы таблиц они в каких-то файликах храняться или как? Я могу их просто со старых серверов на новые скопирвать?

LeiDruid
30.08.2018
10:42:44

Alex
30.08.2018
10:43:00
вы знаете, что отправлять людей в документацию это моветон

Google

Alex
30.08.2018
10:43:28
так возможно или нет?

LeiDruid
30.08.2018
10:43:37
Vs nfr yt ghj,jdfkb
Мы так не пробовали

Wolf
30.08.2018
10:44:03

Alex
30.08.2018
10:45:08
ну вот я и спрашиваю возможно такое или нет?
было бы удобненько))

Wolf
30.08.2018
10:46:08
да конечно возможно бери да перемещай любые файлы куда хочешь
но работая с базой изнутри надо понимать как она работает внутри

Michael
30.08.2018
11:07:39
Добрый день. Подскажите, пожалуйста, что делаю не так?
CREATE TABLE IF NOT EXISTS `eventShard` (
date Date,
ts UInt64,
id UInt64,
data UInt32,
) ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/01/eventShard', 'node-1', date, (ts, id)) PARTITION BY date ORDER BY (ts, id);
Ошибка:
Received exception from server (version 18.10.3):
Code: 42. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: With extended storage definition syntax storage ReplicatedReplacingMergeTree requires 2 to 3 parameters:
path in ZooKeeper,
replica name,
[version]
В расширенном описании ошибки есть примеры с PARTITION BY и ORDER BY

Michal
30.08.2018
11:18:17
мешаете 2 синтаксиса - старый и новый. Он вам подсказывает что если используете PARTITION BY то в скобках должно быть меньше параметров.

Michael
30.08.2018
11:29:07
Спасибо

Alexander Nairashvili
30.08.2018
12:01:06
2018-08-30 14:58:09 INFO PrepRequestProcessor:598 - Got user-level KeeperException when processing sessionid:0x161b0af346b0005 type:multi cxid:0x77eb81a zxid:0x41304671b txntype:-1 reqpath:n/a aborting remaining multi ops. Error Path:/clickhouse/tables/1/logs/replicas/2/parts/20180830_20180830_928706_928710_1 Error:KeeperErrorCode = NodeExists for /clickhouse/tables/1/logs/replicas/2/parts/20180830_20180830_928706_928710_1
это приемлемый лог INFO, или надо предпринять какие то действия? не вижу никаких проблем в логах кликхауса и репликации
PS. версия 1.1.54383

molo4ko
30.08.2018
12:24:56
Что может быть причиной появления replicated_part_failed_fetches в метриках?

prll
30.08.2018
13:35:59

Vyacheslav
30.08.2018
13:36:41
Exception on client:
Code: 53. DB::Exception: Type mismatch in IN or VALUES section. Expected: String. Got: UInt64
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 18.10.3 revision 54405.
и как такое отлаживать?
а если из файла, то даже строку не говорит

Konstantin
30.08.2018
13:37:43

Stanislav
30.08.2018
13:40:02
Это ещё ладно... У меня тут telegraf периодически подсовывает не то. При этом в логах изредка видно, на чём (каком запросе) споткнулись, но не видно, на каком поле. Что хреново - видно именно изредка, несмотря на включенный debug. А trace на рабочем кластере включать почему-то не хочется...

Daniel
30.08.2018
13:48:45

Alex
30.08.2018
13:55:02

Google

Michal
30.08.2018
14:12:31
и как такое отлаживать?
Постараться внимательно прочитать и понять сообщение об ошибке.
Вкратце - КХ использует строгие типы данных. Нельзя сравнивать данные разных типов без приведения. Например WHERE sting_field in (123123,12345345) ; выдаст примерно такую ошибку. Но если превратить числа в строки - то всё будет ок: WHERE sting_field in ('123123','12345345')

Mike
30.08.2018
14:13:22
Коллеги, а подскажите плиз в каком контексте в конфиг вставлять max_size_to_drop - а то что-то игнорирует сервер эту настройку
в доке про нее вообще пусто

Michal
30.08.2018
14:16:18
https://clickhouse.yandex/docs/en/operations/server_settings/settings/#max_table_size_to_drop

Mike
30.08.2018
14:16:49
https://pastebin.com/QAWeVbXc

Daniel
30.08.2018
14:17:59

Michal
30.08.2018
14:18:47

Mike
30.08.2018
14:19:20

Daniel
30.08.2018
14:22:54

Vyacheslav
30.08.2018
14:23:33

Mike
30.08.2018
14:23:57
Спасибо!
Похоже, что и <max_table_size_to_drop>0</max_table_size_to_drop> тоже игнорируется кх
даже после перезагрузки не дает дропнуть

Michal
30.08.2018
14:24:21

nikoinlove
30.08.2018
14:25:26
а как вы в метрике удаляете данные из кх в рамках закона яровой?
или гдпр какого-нибудь

Саша
30.08.2018
14:26:23
Коллеги, а в чем причина следующей ошибки?
DB::Exception: Unknown user default.
при вызове OPTIMIZE TABLE stat_v2 PARTITION '201807';

Daniel
30.08.2018
14:26:36

Саша
30.08.2018
14:27:22

Google

Mike
30.08.2018
14:28:42

Саша
30.08.2018
14:29:00

Michal
30.08.2018
14:29:26

Vyacheslav
30.08.2018
14:30:45

Michal
30.08.2018
14:35:23
У меня пишет: https://pastebin.com/rSZ59TwS

Vyacheslav
30.08.2018
14:37:22
но я ведь вставляю не у тебя, и не в таблицу твоей структуры, верно?

Саша
30.08.2018
14:38:00

Michal
30.08.2018
14:38:05

Vyacheslav
30.08.2018
14:38:28
ну так и кликхаус мне не сказал, разве это не заметно?

Michal
30.08.2018
14:39:33

Vyacheslav
30.08.2018
14:41:12
мне несложно еще раз процитировать:
Exception on client:
Code: 53. DB::Exception: Type mismatch in IN or VALUES section. Expected: String. Got: UInt64
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 18.10.3 revision 54405.

Michal
30.08.2018
14:44:24
КХ - это продукт с открытым кодом. Если что-то работает не идеально и вам хочется чтобы работало лучше - то есть несколько выходов. 1) выливать свою обиду на несовершенство мира в телеграмме 2) постараться обойти ошибку 3) попробовать исправить ошибку в исходном коде КХ 4) постараться максимально подробно описать шаги которые вопроизводят проблему, так чтобы кто-то другой смог в этом помочь. Первый пункт опробован. Переходим к следующему? :)

Vyacheslav
30.08.2018
14:45:54
inser into ... values ...
полей в таблице больше двух десятков, вставляется 100 тыщ строк

Michal
30.08.2018
14:47:52
Не желательно вставлять 100 тыщ строк в формате values.

Alexey
30.08.2018
14:48:24

Vyacheslav
30.08.2018
14:48:54
невозможно в моем случае вставлять иначе

Google

Alexey
30.08.2018
14:49:01
вставляю в кучу таблиц и по 50к, и по 500к пачки, проблем не заметно

Denis
30.08.2018
14:49:14
да и jdbc тоже через values пишет

Michal
30.08.2018
14:55:24

Nick
30.08.2018
14:56:54
Добрый день. Подскажите пожалуйста в чем может быть проблема.
select dictGetString('some_dict_name', 'name', toUInt64(3)) as rname
в ответ получаю
Code: 53. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Third argument of function dictGetString must be (UInt64).

Denis
30.08.2018
14:57:08

Michal
30.08.2018
14:58:35
а вот это почему?
Это не правило, VALUES использовать можно, но тот же TSV почти всегда будет работать быстрее. С Values - могут быть причуды - т.к. он может переключаться в режим парсования SQL отчего могут появляться всякие побочные эффекты.
В Values можно использовать фрагметы sql, типа INSERT INTO table x(date) VALUES (today());

Alexey
30.08.2018
15:01:13

Michal
30.08.2018
15:04:00

Denis
30.08.2018
15:05:40
просто сам по себе инсёрт запрос предполагает наличие values
или это уже не sql будет

Alexey
30.08.2018
15:06:13
TabSeparated пошустрее, но не сильно намного