@clickhouse_ru

Страница 165 из 723
Roman
08.06.2017
15:31:38
если случилась жопа и нужны бекапы, то видимо скриптом батчить инзерты?

Alex
08.06.2017
15:34:43
хороший вопрос. или например на ноде посыпался винт

Roman
08.06.2017
15:35:11
у нас RAID-10, надо успеть заменить его :)

Google
Pavel
08.06.2017
15:35:45
если железо позволяет проще лить на два сервера одини и те же данные

Roman
08.06.2017
15:35:52
мы так и делаем

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

Pavel
08.06.2017
15:36:01
хочется еще долгие бэкапы?

Roman
08.06.2017
15:36:08
ага

Pavel
08.06.2017
15:36:13
на случай ядерной войны консервы и патроны лучше)

а так, да, оправдано

Roman
08.06.2017
15:37:00
сливать их куда-нибудь в coldline гуглу и быть уверенным, что даже если оба ДЦ умрут, данные не похерятся

осталось понять как их сливать

Ну в принципе можно конечно по итогу месяца сливать партишн, а в рамках месяца сливать в csv

тогда восстановление будет аттачем старых партишнов и инзертом недавних данных

Alexey
08.06.2017
15:48:19
Oleg
08.06.2017
16:06:58
да, тоже самое наблюдал, предварительный конверт в строку ускряет вставку в 6 раз

Google
Александр
08.06.2017
16:07:49
Я на самом деле еще не смог упереться в какой то потолок при вставке данных

Alex
08.06.2017
16:07:58
думаю этот вопрос задавали, но спрошу - имеет ли смысл использование star schema? типа хранить численные айди в кликхаус, а значение, например, в мускуле?

Let Eat
08.06.2017
16:08:13
да, тоже самое наблюдал, предварительный конверт в строку ускряет вставку в 6 раз
может с этим связано? https://blog.packagecloud.io/eng/2017/02/21/set-environment-variable-save-thousands-of-system-calls/

Александр
08.06.2017
16:08:39
200 потоков, 3 сервера, пишу в distributed таблицу. Пробивал потолок в 10кк в минуту

Хотя пиковая нагрузка 4кк в минуту

Pavel
08.06.2017
16:13:38
со временем надо быть предельно аккуратными, даже в С/С++ легко отрелить себе что-нибудь полезное

Let Eat
08.06.2017
16:13:53
"даже"? :)

Pavel
08.06.2017
16:14:14
ну я про производительность, обычно они дьяволски быстры на фоне всего прочего)

а вот время... была у меня статейка

http://bert-hubert.blogspot.co.uk/2017/03/on-linux-vdso-and-clockgettime.html

во

Let Eat
08.06.2017
16:18:42
оно еще и в Xen не через vdso

Pavel
08.06.2017
16:19:55
виртуализация вообще дьявольщина, я каждый раз разубеждаю юзать любую) чистое железо предсказуемее всего, как ни странно

Let Eat
08.06.2017
16:20:59
а куда без нее, с железками мороки много

Pavel
08.06.2017
16:21:02
https://github.com/yandex/ClickHouse/issues/371 мб тикет уже закрыть надо, поидее исправлено?

Vladimir
08.06.2017
16:21:27
а куда без нее, с железками мороки много
Так все равно с ним кто то будет разбираться

Не ты, так провайдер, но за твои деньги

Let Eat
08.06.2017
16:21:48
конечно будет. кто-то, но не все :)

Vladimir
08.06.2017
16:22:07
конечно будет. кто-то, но не все :)
А это от процессов зависит

Google
Vladimir
08.06.2017
16:22:53
При наличии людей, можно вполне выделить команду которая занимается железом

Pavel
08.06.2017
16:23:54
а ссд еще сильнее снижают сложность обслуживания

Oleg
08.06.2017
16:32:35
да

Alex
08.06.2017
16:36:39
Тогда резолв таймзоны ни при чём (в ClickHouse он всё равно один раз делается). При парсинге VALUES используются два парсера - быстрый и медленный, который включается при ошибках в быстром, зато умеет выражения. Для DateTime строка 'YYYY-MM-DD HH:MM:SS' считается нативным форматом, а unix timestamp - "выражением". Поэтому во втором случае используется медленный парсер.

Kem
08.06.2017
16:38:55
Стоит смотреть, он развивается. На подходе приятные киллерфичи)

Alex
08.06.2017
16:39:57
согласен :)

Alexey
08.06.2017
16:42:28
Спасибо за рязъяснения с DateTime

N
08.06.2017
16:52:58
На вокзале

Alex
08.06.2017
16:59:09
когда поезд?

N
08.06.2017
17:09:27
Дык уже) Извините, промахнулся на радостях, что странность такая же с dateTime выходила.

Александр
09.06.2017
06:08:10
Всем доброго времени суток! Кто-то занимался переносом данных с одного сервера на другой? Нужно кусок данных перекинуть на другой сервер. Лучше через select ... into outfile ?

Igor
09.06.2017
06:11:31
Привет! А какой самый правильный способ скопировать таблицу из одного кластера в другой, если нет доступа до диска серверов, чисто по http api? Видимо CREATE TABLE table AS SELECT * from remote('address', db.table) ?

Синтаксис чуть-чуть другой CREATE TABLE table engine = Engine AS SELECT * from remote('host', 'db', 'table', 'login', 'password')

либо, как в документации, сразу партиции перетаскивать

Александр
09.06.2017
06:12:22
Спасибо! Тут проблемка ) Сервера в разных подсетях ( Возможности доступа из одной в другую нет

Просто мне надо не все данные

Igor
09.06.2017
06:12:27
detach / attach

Александр
09.06.2017
06:12:44
Ок, попробую с партициями поиграться, спасибо!

Google
Igor
09.06.2017
06:14:33
если надо меньше данных, чем в партиции, тогда да, наверное сдампить все что нужно в файл (в формате Native вроде лучше всего) и инсертнуть в нем же на другом серваке

Александр
09.06.2017
06:15:11
Просто у меня там данные по разных объектам, а мне по сути только по одному нужно. Так что лучше наверное дамп будет

Alexander
09.06.2017
07:49:51
так я переливал данные большого объема(70 ГБ кусок) nohup curl -v -T test351560.csv -X POST 'http://username:passwordg@domain.ru:8123/?query=insert%20into%20customer360.agg_pm_kpi_weekly_prp_dist%20format%20CSV' -H "Transfer-Encoding: chunked" -H 'Expect:' &

здесь объем может быть любым, в ограничение по оперативной памяти не упрётесь

Александр
09.06.2017
07:52:20
Супер! Спасибо большое!

Выгрузил пока данные в Native формате, зажал и перекинул куда надо. Данных примерно 100 гигов всего в общей сложности, мне надо было только часть перекинуть

Pavel
09.06.2017
09:47:49
спамеры набегают я смотрю :/

yuyu
09.06.2017
12:02:58
Можно для поля Enum типа прописывать default значения, чтобы строки не из enum-списка не кидали exception?

Andrey
09.06.2017
12:05:35
Можно для поля Enum типа прописывать default значения, чтобы строки не из enum-списка не кидали exception?
деволтное занчение, оно же на случай отсутствия значения в insert

yuyu
09.06.2017
12:10:18
деволтное занчение, оно же на случай отсутствия значения в insert
Может я не так сформулировал вопрос. Мне надо, чтобы при парсинге входного json для неизвестных значений поставлялось что-то из списка допустимых, а не кидалось исключение.

Bob
09.06.2017
12:33:52
Привет! Подскажите плиз. Есть географически удаленный кластер КХ. Для заливки данных в него развернутся машина и создана Distributed таблица. Наблюдаю следующую проблему, в таблицу вставили большую пачку строк и данные не утекают на целевые сервера кластера, в логах: 2017.06.09 15:24:46.867466 [ 395 ] <Trace> dd.Distributed.DirectoryMonitor: Started processing `/var/lib/clickhouse/data/sample/dd/default:NotARealPassord@192%2E168%2E98%2E106:9000/66972.bin` 2017.06.09 15:24:46.888801 [ 395 ] <Error> dd.Distributed.DirectoryMonitor: Code: 210, e.displayText() = DB::NetException: I/O error: Broken pipe: while reading from socket (192.168.98.106:9000), e.what() = DB::NetException, Stack trace: 0. clickhouse-server(StackTrace::StackTrace()+0x16) [0x28c6df6] 1. clickhouse-server(DB::WriteBufferFromPocoSocket::nextImpl()+0x49d) [0x28dbd6d] 2. clickhouse-server(DB::Connection::sendData(DB::Block const&, std::string const&)+0xd3) [0x2abc8b3] 3. clickhouse-server(DB::Connection::sendQuery(std::string const&, std::string const&, unsigned long, DB::Settings const*, DB::ClientInfo const*, bool)+0xc21) [0x2abded1] 4. clickhouse-server(DB::RemoteBlockOutputStream::writePrefix()+0x56) [0x2b6aee6] 5. clickhouse-server(DB::StorageDistributedDirectoryMonitor::processFile(std::string const&)+0x611) [0x29e2ef1] 6. clickhouse-server(DB::StorageDistributedDirectoryMonitor::findFiles()+0x10c) [0x29e491c] 7. clickhouse-server(DB::StorageDistributedDirectoryMonitor::run()+0x85) [0x29e4e05] 8. clickhouse-server() [0x34b1aaf] 9. /lib/x86_64-linux-gnu/libpthread.so.0(+0x8064) [0x7f3f4b5f9064] 10. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f3f4ac2162d] И так уже 4 часа для всех серверов из distributed таблицы. При этом запросы на select к этой distributed таблице работают и вроде как все хорошо. Данные которые сегодня вставили не видны, т.е. ни до одного сервера не доехали. В чем может быть проблема?

Andrey
09.06.2017
12:38:04
А с сеткой все ок? Если к примеру тем же telnet попробовать

Bob
09.06.2017
12:41:55
селекты к этой таблице(и тем серера) успешно отрабатывают...

смотрел tcpdumpом, трафика не смотря на ошибки к 192.168.98.106 нету.. Если делаю селект - то появляется..

Такое ощущение что pipe сдохли, а кх это не задетектил...

Andrey
09.06.2017
12:55:41
тут уже точно не подскажу, но я бы смотрел на вывод lsof. И кстати, ребут не помогает или он недопустим?

Bob
09.06.2017
12:58:59
пока не допустим. Нетстат вот такое водит: netstat --timers|grep '.106:9000' tcp 0 0 msk-ch:57691 192.168.98.106:9000 ESTABLISHED off (0.00/0/0)

Andrey
09.06.2017
13:21:38
А lsof показывает еще соединения?

с тем же сервером

Bob
09.06.2017
13:44:22
Столькоже сколько и netstat clickhous 22148 clickhouse 40u IPv4 113678595 0t0 TCP msk-ch:57691->192.168.98.106:9000 (ESTABLISHED)

Google
Дмитрий
09.06.2017
13:48:52
Всем приветы! Подскажите, пожалуйста по конфигу кликхауса.

Выставляю параметр <max_memory_usage>40000000000</max_memory_usage> прямо в сеции yandex, перезапускаю кликхаус - значение не верное.

Что я делаю не так?)

Felixoid
09.06.2017
13:58:26
это в <profiles> для профиля должно быть

Дмитрий
09.06.2017
13:59:00
я понял, спасибо.

Felixoid
09.06.2017
13:59:23
<?xml version="1.0"?> <yandex> <profiles><name><max_memory_usage>32212254720</max_memory_usage>

Александр
09.06.2017
14:37:14
?*:яяяяяяя...не люблю спамеров. Что они тут забыли?

Andrew
09.06.2017
14:38:24
упорный

Alex
09.06.2017
14:39:46
закладки еще не предлагали?

тут же целевая аудитория, клондайк

Александр
09.06.2017
14:40:26
Ага, творческие люди и все такое

Предлагаю таких "по айпи вычислять" )))))

Alexander
09.06.2017
16:02:32
привет, у меня тоже проблема с кластером, которая 100500 ошибок 2017.06.09 12:00:32.379509 [ 36 ] <Error> events_all.Distributed.DirectoryMonitor: Code: 210, e.displayText() = DB::NetException: I/O error: Broken pipe: while reading from socket (10.7.16.229:9000), e.what() = DB::NetException, Stack trace:

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

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