
М
03.08.2018
14:40:33
Еще раз всем привет, я пока не смог решить проблему, но обнаружил интересный эффект. Если я залезу в /var/lib/clickhouse/data и перенесу папку с данными самой активно пользуемой базы куда-нибудь, то проблем при запуске не возникает и в логе появляются строки:
2013.05.15 04:02:00.275454 [ 1 ] <Information> Application: Listening http://[::0.0.0.0]:8123
2013.05.15 04:02:00.275647 [ 1 ] <Information> Application: Listening tcp: [::0.0.0.0]:9000
2013.05.15 04:02:00.275825 [ 1 ] <Information> Application: Listening interserver: [::0.0.0.0]:9009
2013.05.15 04:02:00.276018 [ 1 ] <Information> Application: Ready for connections.
Если вернуть на место, проблемы возвращаются. Что это может значить?

Alexander
03.08.2018
14:40:53
Мне создать issue?
Вот очень похожее https://github.com/yandex/ClickHouse/issues/2786 и там даже PR предложили.

М
03.08.2018
14:47:03

Google

М
03.08.2018
14:49:37
А в логе больше ничего нет, кроме того, что ты приложил?
На этом месте он задумываетсяя (если запускать клик из консли) и при попытке остановить его (ctrl+c) пишет в лог
<Information> Application: Received termination signal (Interrupt)
И не останавливается. При повторном нажатии пишет
2013.05.15 04:08:22.359170 [ 5 ] <Information> Application: Received termination signal (Interrupt)
2013.05.15 04:08:22.359205 [ 5 ] <Information> Application: Received second signal Interrupt. Immediately terminate.
И после этого уже умирает

Alexander
03.08.2018
14:50:55
Это поведение ожидаемо. Но конечно без gdb'ы/strace'a тут сложно понять, почему он задумывается и что он там делает.

Liedovsky
03.08.2018
14:51:45

М
03.08.2018
15:04:24

Alexander
03.08.2018
15:04:46
И при таком трейсе ничего в логах?!

М
03.08.2018
15:09:37
Лог с того момента, как я использовал strace
Не считая сообщений о том. как я его в конце "убивал"

Alexander
03.08.2018
15:13:22
А почему версия, которой уже почти 1.5 года? Если честно, с такой древностью разбираться сложно совсем.

Denis
03.08.2018
15:13:24
fsck делали?
что sar -d 1 100
показывает в момент старта КХ?

М
03.08.2018
15:22:51

Google

Denis
03.08.2018
15:24:20
это команда/софтина в юниксе, показывает нагрузку, в данном случае -d диски
я подозреваю что вы просто не дожидаетесь пока КХ прочитает с диска файлы, или с дисками проблемы и будут запредельные числа в столбиках svctm и await
15:24:40 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
15:24:40 dev8-0 0.00 0.00 0.00 0.00 0.40 0.00 0.00 40.00
15:24:40 dev8-16 0.00 0.00 0.00 0.00 0.40 0.00 0.00 40.00

М
03.08.2018
15:27:13
Я понял, возможно. Хорошо, спасибо, это тоже проверим.

Alexander
03.08.2018
15:30:57

Denis
03.08.2018
15:33:38
и fsck надо сделать, потому что там возможно получились бесконечные файлы из нулей в конце.

Sergey
03.08.2018
15:36:36
Вопрос по нативному протоколу и пакету Data. В клиенте в Connection::receiveData есть readStringBinary(external_table_name, *in). Но на сервере TCPHandler::sendData туда пишет пустую строку: writeStringBinary("", *out).
Есть ли в этом какой-то смысл? Или остаток непригодившейся фичи?

molo4ko
03.08.2018
15:45:52
Привет
Если пользоваться хттп-словарем, насколько сильно заметно разницу в производительности по сравнению в файлом? хттп-сервис “рядом”, скорость “не ограничена”.
Кэшируются ли такие словари?

Evgeny
03.08.2018
15:46:26
Подскажите пожалуйста, а как сделать что-то вроде emptyArrayTuple() ?

papa
03.08.2018
15:48:50
select cast([] as Array(Tuple(Int8)))

Alexander
03.08.2018
15:49:33

Evgeny
03.08.2018
15:50:14

Combot
03.08.2018
15:50:14
Evgeny Kruglov (0) увеличил репутацию papa karlo (1)

Denis
03.08.2018
15:50:44

molo4ko
03.08.2018
15:57:40
Ок, спасибо.

Evgeny
03.08.2018
16:11:23
github.com/tabixio/tabix/tree/alpha?files=1
А есть возможность попросить о фиче в новый табикс? Очень не хватает возможности выносить окощке результата в другое окно, чтобы былоа как в хроме, когда дебаггер и страница в разных окнах. Ну или показывать его справа, как предпросмотр сейчас сделан.
Не хватает высоты окна редактирования :(

Igor
03.08.2018
16:12:57

Evgeny
03.08.2018
16:13:15

Combot
03.08.2018
16:13:16
Evgeny Kruglov (0) увеличил репутацию Igor Str (1)

LeiDruid
03.08.2018
16:25:51
А альфа уже юзабельная ?

Google

Igor
03.08.2018
16:49:01

taketa
03.08.2018
16:58:59
ПОдскажите как сделать запрос с like вида
SELECT
Time, OpenTime, CloseTime
FROM db.test
Where Time LIKE('2018-08-01%’)
ORDER BY (Time, TimeMillisecond) DESC

Dmitry
03.08.2018
17:10:46
Как-то так)
SELECT
Time, OpenTime, CloseTime
FROM db.test
Where Time LIKE '2018-08-01%’
ORDER BY (Time, TimeMillisecond) DESC

Victor
03.08.2018
17:11:55
вот это поворот

taketa
03.08.2018
17:23:38

Dmitry
03.08.2018
17:27:57

taketa
03.08.2018
17:29:45

Denis
03.08.2018
17:33:03
это удар по перфомансу.
Time between '2018-08-01 00:00:00' and '2018-08-01 23:59:59'
или
toYYYYMMDD(Time) = '2018-08-01'

Dmitry
03.08.2018
17:33:44
вот-вот, как раз хотел спросить, какой тип у колонки Time

Denis
03.08.2018
18:18:00
>toYYYYMMDD(Time) = '2018-08-01'
и удивительно, КХ единственная известная мне БД, где такой вариант заооптимизирован, остальные субд не парятся разворотом хешфункций.

Dmitry
03.08.2018
19:30:43

Alexey
03.08.2018
19:31:54
toDate(Time)

Denis
03.08.2018
19:56:58
Если судить по названию, кажется, что функция должна вернуть '20180801')
Я такой, честно говоря, даже не знал и гонял between
а ну правильно, а toYYYYMMDD видимо для кастомного партиционирования сделали
select * from (select toDateTime('2018-01-01 01:01:01') a)
where
toYYYYMMDD(a) = 20180101 and
toDate(a) = '2018-01-01'
я тоже везде пишу between, но вообще-то индекс работает с toYYYYMMDD и с toDate
отбрасывание партиций еще страннее, партиционировали скажем по floor(x/100), у каждой партиции есть атрибуты max(x) и min(x), поэтому в запросе для оптимизации выбора партиции пишем where x=5, вместо привычных мне floor(x/100)= floor(5/100), это взрывает мне мозг.

Igor
03.08.2018
20:15:46
А альфа уже юзабельная ?
Пришлось много менять в UI/ux, все переделывать - но мне кажется лучше получается, "подразню" скином сравнением https://monosnap.com/file/1kn68QAl34wPAc2Jl3mWMi4i0IMIZw

LeiDruid
03.08.2018
20:43:26

Robert
03.08.2018
22:13:32
Робяты, если у меня в dictionary внешнем (Postgres через ODBC) есть поле Timestamp, которое так же может быть NULL. Как его правильно оформить в <attribute></attribute> что бы не ругался? Ну и видимо конвертация нужна. Использовать <expression></expression> или есть какой то другой идиоматический способ?

Combot
03.08.2018
22:13:32
LeiDruid (0) увеличил репутацию Igor Str (2)

Denis
03.08.2018
22:29:33

Robert
03.08.2018
22:33:07
Спасибо, попробую

Alexey
03.08.2018
22:41:03
Спасибо, попробую
Посмотрите также expression:
https://clickhouse.yandex/docs/ru/single/#_115
Может быть можно подставить COALESCE(Timestamp, ...)

Google

Vladimir
04.08.2018
06:11:12


Anton
04.08.2018
14:07:30
Добрый день.
Столкнулся с ошибкой и не понимаю куда рыть дальше. Помогите пожалуйста понять:
Создаю вьюху
CREATE MATERIALIZED VIEW IF NOT EXISTS db1.r_test_transactions ON CLUSTER comparatio_cloud
ENGINE = ReplicatedReplacingMergeTree('/clickhouse/db1/tables/r_test_transactions', '{replica}', DATE, (ED1_ID, CO1_ID), 8192, ED1_UPLOAD_TIMESTAMP) AS
SELECT *
FROM db1.rtest_transactions
┌─host────┬─port─┬─status─┬─error─┬─num_hosts_remaining─┬─num_hosts_active─┐
│ ch-srv1 │ 9000 │ 0 │ │ 1 │ 0 │
│ ch-srv2 │ 9000 │ 0 │ │ 0 │ 0 │
└─────────┴──────┴────────┴───────┴─────────────────────┴──────────────────┘
2 rows in set. Elapsed: 0.108 sec.
Вставляю данные
ip-172-31-16-11.us-west-2.compute.internal :) insert into db1.rtest_transactions select * from db1.rtest_transactions;
INSERT INTO db1.rtest_transactions SELECT *
FROM db1.rtest_transactions
Ok.
0 rows in set. Elapsed: 0.001 sec.
на втором сервере делаю ip-172-31-16-10.us-west-2.compute.internal :) optimize table db1.r_test_transactions;
OPTIMIZE TABLE db1.r_test_transactions
Received exception from server (version 18.6.0):
Code: 194. DB::Exception: Received from localhost:9000, ::1. DB::Exception: Received from ch-srv2:9000, 172.31.16.11. DB::Exception: Password required for user default.
0 rows in set. Elapsed: 0.079 sec.
нее может подключиться, если сделать наоброт, на первом сервере создать вьюху, на первом все работает, на втором OPTIMIZE не работает


Daniel
04.08.2018
19:16:45
Добрый вечер! У меня в Зукипере, с которым работает только КХ, накопилось уже 11 лог-файлов, хотя в конфиге зукипера указано ротировать по 10 (autopurge.snapRetainCount).
root@east-dwarf-zk1:/var/zookeeper/logs/version-2# ls -lh
total 19G
-rw-r--r-- 1 zookeeper zookeeper 1.2G Aug 3 09:43 log.10019933c
-rw-r--r-- 1 zookeeper zookeeper 1.7G Aug 3 15:51 log.10030917f
-rw-r--r-- 1 zookeeper zookeeper 2.1G Aug 3 23:25 log.100519d74
-rw-r--r-- 1 zookeeper zookeeper 2.3G Aug 4 03:52 log.1007ad569
-rw-r--r-- 1 zookeeper zookeeper 2.3G Aug 4 07:40 log.100a742c0
-rw-r--r-- 1 zookeeper zookeeper 1.7G Aug 4 10:07 log.100d4c983
-rw-r--r-- 1 zookeeper zookeeper 2.3G Aug 4 12:43 log.100f41aa2
-rw-r--r-- 1 zookeeper zookeeper 1.3G Aug 4 14:52 log.10120bd50
-rw-r--r-- 1 zookeeper zookeeper 1.7G Aug 4 17:30 log.10139afc5
-rw-r--r-- 1 zookeeper zookeeper 1.3G Aug 4 19:28 log.1015a31d4
-rw-r--r-- 1 zookeeper zookeeper 1.9G Aug 4 22:12 log.10173df82
root@east-dwarf-zk1:/var/zookeeper/logs/version-2# cat /opt/zookeeper/conf/zoo.cfg
autopurge.purgeInterval=1
maxSessionTimeout=60000000
dataDir=/var/zookeeper/data
4lw.commands.whitelist=*
syncLimit=10
dataLogDir=/var/zookeeper/logs
reconfigEnabled=true
leaderServes=yes
standaloneEnabled=false
skipACL=yes
autopurge.snapRetainCount=10
tickTime=2000
initLimit=30000
snapCount=3000000
preAllocSize=131072
maxClientCnxns=2000
dynamicConfigFile=/opt/zookeeper/conf/zoo.cfg.dynamic.100000000
Подскажите, плиз, нормальная ли это ситуация? Зукиперы запускались с такими конфигами, ничего после запуска не дописывалось, т.е. всё по идее должно быть применено.
О, только что создался и начал писаться 12 файл лога =)


Denis
04.08.2018
19:26:57
Снепшоты и логи не одно и тоже.

Daniel
04.08.2018
19:27:07
При этом зукипер видит настройки. Версия 3.5.3.
2018-08-02 23:06:05,104 [myid:1] - INFO [main:DatadirCleanupManager@78] - autopurge.snapRetainCount set to 10
2018-08-02 23:06:05,112 [myid:1] - INFO [main:DatadirCleanupManager@79] - autopurge.purgeInterval set to 1

Ivan
04.08.2018
19:30:40
Коллеги, подскажите: хочу подключить коллекцию mongodb как внешний словарь. В коллекции есть поле-массив строк, но, как я понял, поддержка Array() во внешних словарях не реализована. В целом, меня бы устроило записывать конкатенацию строк, но возможно ли это реализовать? Через expression? Не нашел в каком виде они задаются.


Daniel
04.08.2018
19:33:41
Снепшоты и логи не одно и тоже.
# systemctl status zookeeper
● zookeeper.service - ZooKeeper Service
Loaded: loaded (/etc/systemd/system/zookeeper.service; enabled)
Active: active (running) since Thu 2018-08-02 23:45:43 MSK; 1 day 22h ago
Docs: http://zookeeper.apache.org
Main PID: 13115 (java)
CGroup: /system.slice/zookeeper.service
└─13115 /usr/bin/java -cp $ZOOCFGDIR:/opt/zookeeper/zookeeper-3.5.3-beta.jar:/opt/zookeeper/lib:/opt/zookeeper/lib/slf4j-log4j12-1.7.5.jar:/opt/zookeeper/lib/slf4j-api-1.7.5.jar:/opt/zookeep...
Aug 04 15:45:44 east-dwarf-zk1: java[13115]: Removing file: 2 авг. 2018 г., 23:45:44 /var/zookeeper/data/version-2/snapshot.0
Aug 04 17:45:43 east-dwarf-zk1: java[13115]: Removing file: 2 авг. 2018 г., 23:45:44 /var/zookeeper/data/version-2/snapshot.100000000
Aug 04 19:45:43 east-dwarf-zk1: java[13115]: Removing file: 3 авг. 2018 г., 5:15:13 /var/zookeeper/logs/version-2/log.100000001
Aug 04 19:45:44 east-dwarf-zk1: java[13115]: Removing file: 3 авг. 2018 г., 5:15:13 /var/zookeeper/data/version-2/snapshot.10019933a
а он, похоже, всё же что-то удаляет. помониторю ещё.


Alexey
04.08.2018
19:45:31
Коллеги, подскажите: хочу подключить коллекцию mongodb как внешний словарь. В коллекции есть поле-массив строк, но, как я понял, поддержка Array() во внешних словарях не реализована. В целом, меня бы устроило записывать конкатенацию строк, но возможно ли это реализовать? Через expression? Не нашел в каком виде они задаются.
Нет, expression в Mongo словарях не поддерживается.
Я думаю, это несложно добавить. Надо смотреть в MongoDBDictionarySource.cpp,
функция createCursor.
Для этого нужен человек, который чуть-чуть знает C++ (может пересобирать, перезапускать ClickHouse с mongo словарём).

Ivan
04.08.2018
19:46:27
благодарю


Daniel
04.08.2018
19:48:09
О, только что создался и начал писаться 12 файл лога =)
ура, ложная тревога, всё ротируется) только что процесс прошёл. будет +1 файл, то есть если
autopurge.snapRetainCount=10
то будет 11 файлов всегда, где 11 - в который сейчас пишется
cat /var/log/zookeeper-logger/zookeeper.log | grep -i Removing
2018-08-04 15:45:44,676 [myid:1] - INFO [PurgeTask:PurgeTxnLog@154] - Removing file: 2 авг. 2018 г., 23:45:44 /var/zookeeper/data/version-2/snapshot.0
2018-08-04 17:45:43,994 [myid:1] - INFO [PurgeTask:PurgeTxnLog@154] - Removing file: 2 авг. 2018 г., 23:45:44 /var/zookeeper/data/version-2/snapshot.100000000
2018-08-04 19:45:43,994 [myid:1] - INFO [PurgeTask:PurgeTxnLog@154] - Removing file: 3 авг. 2018 г., 5:15:13 /var/zookeeper/logs/version-2/log.100000001
2018-08-04 19:45:44,038 [myid:1] - INFO [PurgeTask:PurgeTxnLog@154] - Removing file: 3 авг. 2018 г., 5:15:13 /var/zookeeper/data/version-2/snapshot.10019933a
2018-08-04 22:45:44,012 [myid:1] - INFO [PurgeTask:PurgeTxnLog@154] - Removing file: 3 авг. 2018 г., 9:43:06 /var/zookeeper/logs/version-2/log.10019933c
2018-08-04 22:45:44,042 [myid:1] - INFO [PurgeTask:PurgeTxnLog@154] - Removing file: 3 авг. 2018 г., 9:43:06 /var/zookeeper/data/version-2/snapshot.10030916a


Kirill
04.08.2018
22:47:35
Добрый день.
Столкнулся с ошибкой и не понимаю куда рыть дальше. Помогите пожалуйста понять:
Создаю вьюху
CREATE MATERIALIZED VIEW IF NOT EXISTS db1.r_test_transactions ON CLUSTER comparatio_cloud
ENGINE = ReplicatedReplacingMergeTree('/clickhouse/db1/tables/r_test_transactions', '{replica}', DATE, (ED1_ID, CO1_ID), 8192, ED1_UPLOAD_TIMESTAMP) AS
SELECT *
FROM db1.rtest_transactions
┌─host────┬─port─┬─status─┬─error─┬─num_hosts_remaining─┬─num_hosts_active─┐
│ ch-srv1 │ 9000 │ 0 │ │ 1 │ 0 │
│ ch-srv2 │ 9000 │ 0 │ │ 0 │ 0 │
└─────────┴──────┴────────┴───────┴─────────────────────┴──────────────────┘
2 rows in set. Elapsed: 0.108 sec.
Вставляю данные
ip-172-31-16-11.us-west-2.compute.internal :) insert into db1.rtest_transactions select * from db1.rtest_transactions;
INSERT INTO db1.rtest_transactions SELECT *
FROM db1.rtest_transactions
Ok.
0 rows in set. Elapsed: 0.001 sec.
на втором сервере делаю ip-172-31-16-10.us-west-2.compute.internal :) optimize table db1.r_test_transactions;
OPTIMIZE TABLE db1.r_test_transactions
Received exception from server (version 18.6.0):
Code: 194. DB::Exception: Received from localhost:9000, ::1. DB::Exception: Received from ch-srv2:9000, 172.31.16.11. DB::Exception: Password required for user default.
0 rows in set. Elapsed: 0.079 sec.
Для default пароль не задавайте, это поведение нужно поправить, считайте что пока это фича такая.


Fedor
04.08.2018
23:20:10
Здравствуйте! Есть где-нибудь детальное описание, как хранятся данные внутри MergeTree?
Как лежат на диске, как в памяти, используется ли кодирование столбцов, какой минимальный размер блока и т.п.?

Robert
05.08.2018
05:31:56
https://youtu.be/PLMSA_gDdyM
@fediq , наверно вот тут для базового понимания.

Fedor
05.08.2018
06:53:37
Спасибо!

Илона
05.08.2018
09:48:55
Всем привет. Возник вопрос при select ... where text like %localhost%. Вот так работает. А вот так уже нет. ....where text like %Localhost%. Заранее спасибо.

Sergey
05.08.2018
09:55:50
LIKE case sensitive: https://clickhouse.yandex/docs/en/query_language/functions/string_search_functions/#likehaystack-pattern-haystack-like-pattern-operator

Google

Sergey
05.08.2018
09:56:25
Собсно, кейс там во всех функциях важен, учитывайте это.

Илона
05.08.2018
10:05:19
Что скажете по поводу lower(text) like ...?

Sergey
05.08.2018
10:07:15
Я предпочитаю регулярками разруливать. Но разумнее попробовать как так, так и эдак, выбрать то, что подходит.

Илона
05.08.2018
10:32:35
Спасибо

Robert
05.08.2018
15:41:31