
Константин
26.02.2017
10:51:33
Скажите, можно ли как-то посмотреть состояние кластера?
допустим как в посгресе, можно посмотреть слэйвов

Dmitry
26.02.2017
11:03:59
select * from system.clusters

Константин
26.02.2017
11:08:48
Спасибо! Уже сам нашел ?

Google

Константин
26.02.2017
14:04:59
https://yadi.sk/i/RGQ3wu653EdwJE
странная фигня со словарями
решил подключить на всех нодах КХ кластера словари
но почему-то постоянная 404 ошибка
если скачать через wget - все ок
перезапуск КХ не помогает
помниться вроде там, что-то уже чинили в словарях, но видимо легче не стало...

Alexey
26.02.2017
15:09:51
Припоминаю - было такое, что HTTP словари не обновлялись после ошибки. А какая версия сервера?

Константин
26.02.2017
15:12:06
1.1.54164

Alexey
26.02.2017
15:12:58
перезапуск КХ не помогает
Значит проблема не в этом, а в запросе, который делает словарь. Посмотрите в логах сервера, чем именно отличается запрос, на который он отвечает 404 и запрос, который вы делаете с помощью wget.
Точно ли одинаковое имя хоста...

Константин
26.02.2017
15:24:33
посмотрел access логи сервера, куда должен стучаться КХ за словарями
запросов нет за этими файлами!

Google

Alexey
26.02.2017
15:25:07
После перезапуска clickhouse-server?

Константин
26.02.2017
15:25:17
да
сейчас вручную дернул ссылку
та-да
[26/Feb/2017:18:30:29 +0300] "GET /dicts/creatives.csv HTTP/1.1" 200 3411 "-" "Wget/1.16 (linux-gnu)"
запросов от КХ нет

Vladimir
26.02.2017
15:26:38
а в конфиге есть словари то?

Константин
26.02.2017
15:26:45
конечно :)
как вы думайте я ошибки вижу?

Alexey
26.02.2017
15:27:29
Можно посмотреть tcpdump на стороне clickhouse-server, чтобы понять, какой запрос отправляется и куда.

Константин
26.02.2017
15:41:50
я посмотрел с помощью tcpflow
в общем при рестарте и релоде КХ не происходит ни каких внешних хттп запросов
стоит дернуть ссылку вгетом, и в tcpflow - виден запрос
и что возвращается
судя по всему - очередной баг хттп словарей в КХ...

Alexey
26.02.2017
15:43:22
Словари загружаются при первом их использовании.
Посмотрите, есть ли эксепшен в system.dictionaries, и когда запущен сервер: SELECT uptime()

Константин
26.02.2017
15:44:27
─uptime()─┐
│ 176 │
└──────────┘
в last_exception висит сообщение о 404 ошибке

Alexey
26.02.2017
15:45:47
Спасибо. Будем отлаживать.

Константин
26.02.2017
15:46:55
в tcpflow пошли запросы

Google

Константин
26.02.2017
15:49:51
проблема установлена
КХ преобразует домен в ip
и производит http запрос не по домену, а по ip

Alexey
26.02.2017
15:50:40
С неправильным заголовком Host.

Константин
26.02.2017
16:00:33
временно сделал алиас в дефолт хосте вебсервера, КХ подхватил данные

Roman
27.02.2017
09:50:00
/stat@combot

Combot
27.02.2017
09:50:00
combot.org/chat/-1001080295593


Dmitriy
27.02.2017
10:09:44
привет. возвращаясь к теме мильти реплик на одом сервере. Алексей ответил в теме https://github.com/yandex/ClickHouse/issues/508
я все создал, подописал дефалтные базы для каждой реплики.
<shard>
<!— ########### SHARD 01 —>
<internal_replication>true</internal_replication>
<replica>
<host>clickhouse-hw-01.app.com</host>
<port>9000</port>
<default_database>dbclick</default_database>
</replica>
<replica>
<host>historical03.app.com</host>
<port>9090</port>
<default_database>dbclick_1</default_database>
</replica>
<replica>
<host>historical04.app.com</host>
<port>9090</port>
<default_database>dbclickc_1</default_database>
</replica>
</shard>
Но вот оно не хочет смотреть в те дефолные базы которые прописаны в конфиге. Смотрел логи и оно все равно исщет в другой базе, до этого была база app Подскажите я правильно указал?
А что может означать вот эта ишибка
2017.02.27 11:30:42.731708 [ 1 ] <Error> Application: Net Exception: Cannot assign requested address: 192.168.1.143:8123
сервер 192,168,1,143 живой
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.1.143:9000 0.0.0.0:* LISTEN 12706/clickhouse-se
tcp 0 0 192.168.1.143:9009 0.0.0.0:* LISTEN 12706/clickhouse-se
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1976/sshd
tcp 0 0 192.168.1.143:8123 0.0.0.0:* LISTEN 12706/clickhouse-se
вот оно откуда ошибка
2017.02.27 11:37:00.930916 [ 4 ] <Trace> Connection (192.168.1.149:9000): Connecting. Database: (not specified). User: default
2017.02.27 11:37:00.931190 [ 4 ] <Warning> ConnectionPoolWithFailover: Connection failed at try №1, reason: Code: 210, e.displayText() = DB::NetException: Connection refused: (192.168.1.149:9000), e.what() = DB::NetException
скорее всего указывать базу данных в настройках реплики нельзя
нашел причину почему в первый раз были проблемы.
нужно не забывать про <listen_host>192.168.ххх.ххх</listen_host>
Получился трюк с базами
Но есть проблема в том что когда обращяешься к распределенной таблице то для подсчета строк в базе. оно каждый раз возвращает разные значения


Dmitry
27.02.2017
12:50:55
А конфигурация кластера какая?

Dmitriy
27.02.2017
12:52:47
сейчас скину.

Sergey
27.02.2017
12:53:28
Только не plain-текстом?

Dmitriy
27.02.2017
12:55:00
https://docs.google.com/document/d/1cCYOWBOs_-FCeNX3dAEWRrqjis2IVQ0Sqhs9D6CXAR0/edit?usp=sharing
ссылкой думаю нормально будет

Google

Sergey
27.02.2017
12:56:32
Интересные сервисы для демонстрации вашего кода:
1. Телеграм – просто оберните весь код в три обратных кавычки `
2. pastebin.com – простой сервис для вставки фрагментов кода;
3. gist.github.com – позволяет также делать коммиты, форки и работать как с микро-репозиторием;
4. ideone.com – позволяет также компилировать код, задавать входные параметры и печатает результат;
5. melpon.org/wandbox – компилирует код, печатает результаты, и имеет удобные клавиатурные раскладки для любителей Vim , Emacs (у нас также есть чаты по ним ? );
6. godbolt.org – помимо компилятора предоставляет дизассемблированный код для скомпилированной программы.

Dmitriy
27.02.2017
12:58:10
ага, спасибо.
http://pastebin.com/GrVQj1S1

Dmitry
27.02.2017
12:59:38
Там нигде не напутано с default_database ?
Если уж делать, то лучше что бы во всех репликах имя базы соответствовало номеру шарда

Dmitriy
27.02.2017
13:02:59
вроде не напутано. прошелся поиском по секции кластера. вроде все совпадает.

Dmitry
27.02.2017
13:08:00
Доброго времени суток.
Возникла необходимость считать долю элементов массива от их суммы.
В голову первым делом пришло что-то такое:
arrayMap(x -> x / arraySum(arr), arr)
Вопросы следующие:
1. Оптимизируется ли при таком подходе вычисление arraySum или оно вычисляется каждый раз при применении map и лучше его посчитать заарнее?
2. Есть ли какие-то менее изощрённые способы посчитать долю?

Alex
27.02.2017
14:17:02

Sergey
27.02.2017
14:24:36
Коллеги, создал таблицу, залил в нее данные через клиент в формате csv, потом удалил столбец, теперь пытаюсь долить новые данные без удаленного столбца и получаю exception в err-логе КХ об отсутствии во вставляемых данных удаленного столбца. В метаданных удаленного поля нет. Версия КХ 1.1.54134
Кто-нибудь встречался с такой проблемой?

Dmitry
27.02.2017
14:26:51

Dmitriy
27.02.2017
14:33:40
вот это сейчас проверяю. похоже что нет.

Dmitry
27.02.2017
15:13:54

Dmitriy
27.02.2017
15:28:00
А таблицы созданы с правильными макросами везде?
Спасибо большое за помощь)
действительно неправильно с "макросами" было. сейчас вроде все нормально.
вот только не могу понять почему с теченеем времени меняется в большую сторону количесво строк, если смотреть через распределенную таблицу
прошло наверное минут 30-40 и колисество строк устаканилось.
кому надо, могу скинуть скрипт. в котором наглядно можно будет увидеть какие базы, таблици, и прочее.
Подскажите использование SSD винтов имеет смысл?

Nataliya
27.02.2017
18:46:24
Друзья, напоминаем вам, что завтра с 19:00 мы проводим прямую трансляцию встречи про ClickHouse из питерского офиса. Приглашаем всех присоединяться и задавать вопросы!
Ссылка на трансляцию http://bit.ly/ClickHouseMeetup

Evgeniy
27.02.2017
18:51:35

Dmitriy
27.02.2017
18:53:55
а есть хоть какие-то цифры? и я так понимаю процессор в ускорении обработки данных не помошник?
скажем разници не будет если 32 потока или 16.

Evgeniy
27.02.2017
18:54:20
из цифр только баксы за гигабайт

Google

Evgeniy
27.02.2017
18:54:40
иопс для кх не так критичны, это же онолитика и колонки

Dmitriy
27.02.2017
18:56:47
нуда логично.
нам важно формировать ответ во время загрузки сраници.

Alex
27.02.2017
19:05:48
От SSD хуже не станет - https://github.com/yandex/ClickHouse/blob/master/doc/administration/tips.txt#L57
Другое дело, что данных обычно много, поэтому SSD будет дорого
Процессорных ядер тоже желательно побольше - clickhouse их все заиспользует ;)

Artem
27.02.2017
19:10:46
https://habrahabr.ru/post/322724/

Dmitriy
27.02.2017
19:10:54
спасибо.
язабыл я про эту доку.
у нас данные имеют цикл жизниб, по этому следует обеспечивать только месо под рост их количества за тот же период

Alexey
27.02.2017
23:54:37
/stat@combot

Combot
27.02.2017
23:54:37
combot.org/chat/-1001080295593

Alexey
28.02.2017
06:44:44
/stat@combot

Combot
28.02.2017
06:44:45
combot.org/chat/-1001080295593

Константин
28.02.2017
07:03:28
Доброе утро! Скажите, как быть с materialized view на кластере?
как сделать вьюшку Distributed и Replicated?

Felixoid
28.02.2017
07:18:15

Константин
28.02.2017
07:19:24
это понятно, что вьюха должна быть над destributed таблицей
я не много не понимаю, как сделать саму вьюху destributed