@clickhouse_ru

Страница 397 из 723
Max
22.01.2018
18:01:18
Наверное это касается ODBC драйвера Postgres-а? Дело в том, что мы не используем prepared statements явно...
хм, посмотрим мб его скофигурировать можно на отключение prepared statements

Vladimir
22.01.2018
19:09:22
А как можно сделать так, чтобы пользователь видел только базы, которые в allow_databases?

Alexey
22.01.2018
19:21:00
Такой возможности нет - пользователь видит все базы, но имеет доступ только к своим.

GithubReleases
22.01.2018
19:34:30
https://github.com/yandex/ClickHouse/releases/v1.1.54342-stable was tagged

Google
Alexey
22.01.2018
20:22:36
https://github.com/yandex/ClickHouse/blob/master/CHANGELOG_RU.md https://github.com/yandex/ClickHouse/blob/master/CHANGELOG.md

R-omk
22.01.2018
20:24:20
@milovidov_an пытался сегодня собрать образ докера по инструкции https://clickhouse.yandex/docs/en/development/build.html бинарник 600 метров вышел,

Alexey
22.01.2018
20:25:52
Это нормально, если не отделять отладочную информацию. Например, в обычных пакетах это отделено и идёт бинарник ~150 МБ. PS. А если в целом, то более-менее пофиг на размер бинарника.

R-omk
22.01.2018
20:29:23
Alexey
22.01.2018
20:32:19
Это значит - качаешь Dockerfile и ждёшь в районе часа перед тем, как этим пользоваться? Хотя вроде бы полезно ещё, чтобы сделать ещё один пример воспроизводимой сборки. @proller, что думаешь?

R-omk
22.01.2018
20:33:26
Это значит - качаешь Dockerfile и ждёшь в районе часа перед тем, как этим пользоваться? Хотя вроде бы полезно ещё, чтобы сделать ещё один пример воспроизводимой сборки. @proller, что думаешь?
нет... локальная ci билдит указанный коммит , а ты качаешь и быстро обновляешь или откатываешь образ ... ну и патчи свои можно быстро собирать .. модно на alpine еще делать

Alexey
22.01.2018
20:36:25
Сделать Docker образ, в котором внутри все готовые бинарники и работает сразу, ничего не скачивая внутри и не устанавливая?

R-omk
22.01.2018
20:38:06
Сделать Docker образ, в котором внутри все готовые бинарники и работает сразу, ничего не скачивая внутри и не устанавливая?
ну в мире докера обычно так и делают, только пинарники и пара вспомогательных скриптов на баше запускать эти бинарники..

Alexey
22.01.2018
20:39:35
Да, я всё перепутал.

R-omk
22.01.2018
20:40:25
Да, я всё перепутал.
в общем получится примерно такой же образ, но будет гибкий пример "воспроизводимой сборки"

Alexey
22.01.2018
20:40:37
Имеется ввиду - сделать Dockerfile, который собирает ClickHouse из исходников любой нужной версии или коммита. Получится примерно тот же Docker образ, но зато можно собирать даже если нет соответствующих пакетов?

Сергей
22.01.2018
20:42:30
типа такого - https://github.com/docker-library/php/blob/f4baf0edbc4e05e241938c68bcc7c9635707583d/7.2/stretch/cli/Dockerfile

Google
Alexey
22.01.2018
20:46:46
Выглядит, как будто очень легко сделать. Есть даже два варианта. Первый вариант годится, если делаем образ на основе Ubuntu или Debian. Тогда достаточно запустить ./release --pbuilder. Он соберёт .deb пакеты и положит их директорией выше. Затем достаточно их установить. Второй вариант - примерно как сборка по инструкции... короче, вариация на тему make, make install. PS. Я совсем не разбираюсь, зачем нужен Alpine - чтобы облегчить образ? На Alpine, скорее всего, не соберётся, так как там musl libc, а мы с ним не проверяли.

Vsevolod
22.01.2018
20:49:26
obj-copy -g

Vsevolod
22.01.2018
20:50:14
@milovidov_an вряд ли у вас будут проблемы с маслом, если вы не используете что-то очень сильно зависящее от glibc

например, если работать с той же фрей, то масл точно должен завестись с полпинка

вот разработчики strace на масл жаловались, да

Alexey
22.01.2018
20:54:32
@milovidov_an вряд ли у вас будут проблемы с маслом, если вы не используете что-то очень сильно зависящее от glibc
Особо не используем. Скорее всего всякие мелочи. Было бы хорошо использовать musl везде ради уменьшения зависимостей. Есть несколько причин, почему не сделали: - сложно встроить в систему сборки; - какие-то проблемы с dlopen, риски несоответствия ABI, если открывать с помощью dlopen библиотеки, собранные с использованием заголовочных файлов от glibc - библиотеки типа ODBC драйверов; - предположительно, некоторые важные функции работают медленнее - создание потока, блокировка mutex, strchr и подобные.

Vsevolod
22.01.2018
20:56:56
ну, я свою поделку собираю, но мне все эти проблемы некритичны для тех, кому нужна такая сборка - а это все любители эмбедщины

с dlopen проблемы не должно быть, если не используется tls

Alexey
22.01.2018
20:57:46
TLS где - у нас или в .so? В нашем коде точно используется.

Vsevolod
22.01.2018
20:57:51
в .so

скорость функций - спорный момент

glibc активно использует sse4.2, но выигрыш от него не такой существенный

я когда-то сравнивал и нашел разницу незаметной

Alexey
22.01.2018
21:03:37
Неплохо было бы потестировать. Но я пока не собирал - много сложностей. Если получится - скажите.

prll
22.01.2018
21:21:48
несколько старых версий можно собрать в pbuilder ручным запуском

R-omk
22.01.2018
21:23:39
Поставить virtualbox, в него docker и в нем собирать через pbuilder - we need to go deeper!
завязывай с троллингом, не все каждый день докер крутят)

prll
22.01.2018
21:24:01
На любой deb-based системе

Google
prll
22.01.2018
21:24:39
С докерами есть смысл связываться если из какой-нибудь венды собрать нужно

Ну и надо помнить что памяти захочет 2g*num_cpu

strange
22.01.2018
22:10:35
ну вот если бы я таки смог запустить параллельную сборку (пока не смог), то собирал бы на aws или tencent - поднял сервера, собрал, забрал билд, погасил сервера

(у меня где-то в этих pbuild-ах бага, так-то допустим тот же llvm собирается параллельно)

на tencent билды дешевле будут, наверное (или кто там китайский aws сейчас)

Lex
22.01.2018
22:34:54
strange
22.01.2018
22:43:40
да я вроде прокинул все переменные - в скрипт release (как временное решение, конечно) - типа: debuild -e DISTCC_VERBOSE=0 -e DISTCC_LOG=/home/ubuntu/distcc.log -e DISTCC_FALLBACK=0 -e PATH=/usr/lib/ccache:$PATH -e CCACHE_PREFIX=distcc но ccache подхватывается, а вот распределенной сборки - нет

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

но сама связка ccache + distcc на трех серверах точно работает - и на примере типа hello_world.c и на сборке llvm

prll
22.01.2018
22:54:19
это бага, подсказка есть в скрипте ./release: debuild -e DEB_BUILD_OPTIONS=parallel=$THREAD_COUNT

Ololo
23.01.2018
05:22:26
Доброе утро. У меня есть один скорее архитектурный, чем программистский вопрос. Как лучше организовать хранение dimension-ов? В соседней строковой БД? Или в файликах рядом просто? Или загружать их в табличку с движком Memory?

Slach
23.01.2018
06:26:05
dimensions лучше хранить в Dictionary

Ivan
23.01.2018
08:48:34
Привет, я со вчерашинм вопросом <Error> Application: DB::Exception: Cannot lock file /var/lib/clickhouse/status. Another server instance in same directory is already running. дропнуть файл попробовал

Дмитрий
23.01.2018
08:57:32
А ps aux | grep clickhouse-server уже ведь делали?

Roman
23.01.2018
09:17:05
Привет, я со вчерашинм вопросом <Error> Application: DB::Exception: Cannot lock file /var/lib/clickhouse/status. Another server instance in same directory is already running. дропнуть файл попробовал
была такая фигня на убунте, дело было в том, что сервер запускался через systemd, пришлось вручную отключать его убедиться в наличии проблемы можно по команде sudo service clickhouse-server status. если там /etc/systemd/system/clickhouse-server.service - то проблема есть sudo systemctl disable clickhouse-server.service sudo mv /etc/systemd/system/clickhouse-server.service /etc/systemd/system/clickhouse-server.service.backup sudo systemctl daemon-reload

либо вроде как в последнем релизе исправили этот баг с systemd - https://github.com/yandex/ClickHouse/blob/master/CHANGELOG_RU.md

prll
23.01.2018
09:21:38
Но при апгрейде со старой версии придется потушить старый сервер через killall

ИЛИ sudo service clickhouse-server stop ДО апгрейда

Oleg
23.01.2018
10:08:10
пытаюсь сделать ALTER TABLE ... ON CLUSTER ... ADD COLUMN на локальной таблице ReplicatedMergeTree с 2 репликами на 2 шардах получаю: DB::Exception: Table ... is replicated, but shard #2 isn\'t replicated according to its cluster definition, как пофиксить ?

Google
Yury
23.01.2018
10:10:40
<internal_replication>true</internal_replication> указать ?

Oleg
23.01.2018
10:15:44
стоит по умолчанию, то есть false - писать во все реплики

Yury
23.01.2018
10:17:06
нужно True, тк ReplicatedMergeTree сама занимается репликацией

Oleg
23.01.2018
10:18:53
там еще Distributed поверх, это не помешает ? достаточно изменить настройки сервера на всех нодах ?

Kirill
23.01.2018
10:19:48
Мой вам совет: просто сделайте альтер на каждом из шардов ;)

Yury
23.01.2018
10:19:53
да

кстати да. там будет другая беда. альтер для таких таблиц не доделан

Oleg
23.01.2018
10:21:35
"альтер для таких таблиц не доделан" печально, а что будет работать ?

Yury
23.01.2018
10:21:56
create и drop on cluster - работают

Oleg
23.01.2018
10:22:35
alter table on cluster получется не работает ?

Yury
23.01.2018
10:23:15
он вероятно работает для merge таблиц, не проверял. но для реплицируемых - нет. не работает.

Oleg
23.01.2018
10:25:04
какой работающий способ добавить поле в реплицируемую таблицу/view таблицу с distributed шардами ?

Yury
23.01.2018
10:25:18
старый добрый alter на каждом узле.

Oleg
23.01.2018
10:26:40
alter без on cluster ? после этого репликация не слетит ?

Yury
23.01.2018
10:28:27
без. не слетит. этот альтер реплицируется внутри шарда.

Evgenii
23.01.2018
10:28:31
Обновление нод кликхауса как поправильному делать? Просто обновлением пакетов или данные должны перезаливаться на ноду заново?

Alexey
23.01.2018
10:28:48
альтер на каждом шарде, по репликации приедет на другую реплику. по крайней мере, у меня так работает

Oleg
23.01.2018
10:29:55
достаточно сделать alter на шарде или все таки на каждой ноде ?

Kirill
23.01.2018
10:30:39
достаточно сделать alter на шарде или все таки на каждой ноде ?
Рабочая схема: 1) останавливаем запись в шард 2) делаем альтер на одной из нод шарда 3) включаем запись 4) тоже самое с остальными 5) альтерим distributed таблицы

Oleg
23.01.2018
10:31:46
как остановить/включить запись на шард ?

Google
Kirill
23.01.2018
10:32:14
ту штуку которой пишите остановите

Mikhail
23.01.2018
10:53:41
коллеги, а в 1.1.54342 запись в syslog выключена?

prll
23.01.2018
10:54:58
по умолчанию да, если нужно включить - <logger><console>1</console></logger>

LeiDruid
23.01.2018
10:55:43
sorry )

prll
23.01.2018
10:56:12
а еще есть секретная фича - <logger><use_syslog>1</use_syslog></logger>

Mikhail
23.01.2018
11:06:50
отлично, спасибо! ?

?
23.01.2018
11:34:03
а есть какие-то ориентировочные данные насколько скорость работы КХ по tcp и http отличается?

Егор
23.01.2018
11:35:32
на скорость базы не влияет ) на скорость передачи данных в целом тоже -можно включить сжатие http - и разницы практически не будет

Felixoid
23.01.2018
11:38:39
а еще есть секретная фича - <logger><use_syslog>1</use_syslog></logger>
А что с тикетом на "конфиги в yaml/json"?

Kirill
23.01.2018
11:41:03
а есть какие-то ориентировочные данные насколько скорость работы КХ по tcp и http отличается?
работу по tcp гораздо сложнее реализовать если вы сами будете пытаться сделать свое решение, по tcp вам нужно писать поддержку протокола, а по http - нет.

?
23.01.2018
11:41:51
да у меня под го есть два драйвера на оба протокола, я просто хочу понять, будет ли значимый прирост скорости (изначально выбрал http)

Slach
23.01.2018
11:42:13
для чего прирост ??? на запись или на чтение?

?
23.01.2018
11:42:49
чтение, хочу таблицу в массив элементов считать, сам КХ отрабатывает за доли секунды, у меня же 20 секунд оно все читает, в той же сети

Kirill
23.01.2018
11:43:34
Slach
23.01.2018
11:43:38
roistat драйвер используете?

?
23.01.2018
11:43:48
а, вот Кирилл подсказал в чем проблема может быть https://github.com/golang/go/issues/22544

драйвер http://github.com/mailru/go-clickhouse

Kirill
23.01.2018
11:45:11
В драйвере с tcp сейчас делается "нативный" интерфейс который позволит очень сильно ускорится по сравнению с работой его в режиме драйвра database/sql

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