@metrics_ru

Страница 216 из 681
Denys ??
24.07.2017
07:54:38
Не фанат оракла ниразу, но btrfs - кал, извините

Евгений
24.07.2017
07:55:36
Не фанат оракла ниразу, но btrfs - кал, извините
Ничего не меняется с течением времени ?

Roman
24.07.2017
08:14:12
А, значит шард можно запечатать полностью. Ну ОК. Но все одно это какой то дремучий пиздец из прошлого века и антипаттерн. А ручное добавление северов и шардов, в 20матьего17 году?
А в чем проблема с ручным добавлением шардов? Ты всегда можешь каким-нить confd генерить эту конфигурацию из какого-нить зукипера. Кликхаус вообще прекрасен своей простотой

Google
Denys ??
24.07.2017
08:14:46
Тем что это ручной пиздец

КХ это суровая система для сурового железа с выделенным админом

На другие юзкейсы она натягивается плохо

Roman
24.07.2017
08:16:52
А ты его вообще уже ставил? :)

Denys ??
24.07.2017
08:19:31
Describe ставил

Roman
24.07.2017
08:21:17
ну просто ты его как-то страшно описываешь. а он на самом деле простой и понятный. я даже как-то затрудняюсь назвать более простую и удобную в эксплуатации базу данных.

Evgeny
24.07.2017
08:26:49
я сейчас переливаю метрики в clickhouse на двух серверах с помощью https://github.com/bzed/whisper-to-graphite , смотрю что место в /var/lib/clickhouse/ растет вообще незаметно - как он там жмет непонятно, но очень хорошо судя по расходу )

Stas
24.07.2017
08:28:46
А подскажите, зачем используют graphite + clickhouse а не grafana + clickhouse ? Я же верно понимаю, что графит это аналог графаны?

Evgeny
24.07.2017
08:28:58
в go-carbon использвали sparce файлы 600Гб на файловай системе по df

Vladimir
24.07.2017
08:28:59
@SomeoneBehindYou графана - морда

графит это набор конвенций по API в том числе

Google
Vladimir
24.07.2017
08:29:31
формат входных и выходных данных + референсная имплементация этого (и пачка альтернативных)

Stas
24.07.2017
08:29:58
@SomeoneBehindYou графана - морда
Так а зачем прослойка в виде графита?

Vladimir
24.07.2017
08:30:14
Так а зачем прослойка в виде графита?
например когда уже есть дешборды на графите )

и готовый мониторинг по нему

Alex
24.07.2017
08:30:28
в графите функции - грубо говоря

Vladimir
24.07.2017
08:30:30
во вторых если не графит, то создание протокола и тулзов на тебе

в графите в морде куча математики есть уже (не всегда хорошей впрочем)

Roman
24.07.2017
08:30:47
Vladimir
24.07.2017
08:31:04
@SomeoneBehindYou тут где-то упоминали что в графане например нельзя алерты делать по не core плагинам (graphite, es, prometheus, influxdb вроде бы)

именно средствами графаны

Stas
24.07.2017
08:31:24
Ок, спасибо :)

Vladimir
24.07.2017
08:31:37
ну плюс графит он простой и понятный, хотя местами и недостаточно функциональный

vladimir
24.07.2017
08:36:24
так, шардирование (На чтение) вроде бы победил, осталось с репликацией разобраться

как думаете, какой вариант лучше: 1. carbon-c-relay -> в 3 ноды 2. carbon-c-relay -> в 3 ноды + zookeeper ( не совсем понятно как он там будет работать) 3. carbon-c-relay -> в 1 ноду -> zookeeper -> 2 ноды

vladimir
24.07.2017
08:43:48
да я не собираюсь пока шардинг на запись делать: 1. медленнее чем в локальный 2. отсутствует избыточность (отказоустойчивость)

Denys ??
24.07.2017
08:44:15
ну просто ты его как-то страшно описываешь. а он на самом деле простой и понятный. я даже как-то затрудняюсь назвать более простую и удобную в эксплуатации базу данных.
Я не склонен распространять опыт эксплуатации локалхоста на большой кластер. С КХ у меня пока опыт эксплуатации локалхоста, и в виде локалхоста он ОК. И исходя из документации я уже вижу могучий пиздец ожидающий его эксплуататоров в определенном юзкейсе, типа моего. При этом я вполне согласен что в юзкейсе Метрики он может смотрится неплохо - и именно в этом суть того что в Кассандре и Риаке кластеринг нормальный есть, а в КХ нет - ну не нужен им он был. У них команда админов есть, нового железа намотали, шардов добавили, старых запечатали - лепота. Графит там так и добавили - для своего случая, раз такая база под рукой есть. И я ни разу в случаях БД не встречался со случаем - "по документации эксплуатация пиздец, а в реале - конфетка прст". Наоборот - 1000 раз. Кассандра - в доках все ОК, в реале - ад и страдание. Риак - "супер простая система в оперировании" - в результате езда по кочкам и переезд на Кассандру. Ну его нахрен, товарищи. После этого в рассказы о супер простых базах данных не верю вообще, сорри.

Vladimir
24.07.2017
08:45:33
@deniszh иногда задокументированный пипец лучше чем неявный :)

Denys ??
24.07.2017
08:45:41
да я не собираюсь пока шардинг на запись делать: 1. медленнее чем в локальный 2. отсутствует избыточность (отказоустойчивость)
Почему отсуствует? можно ж шардинг с репликацией комбинировать? черезжопно конечно, но можно ж.

vladimir
24.07.2017
08:46:59
В самом шардинге отсутствует, мы не можем сожранять N раз одну и туже информацию на N нод, чтобы в случае падения одной из нод - информация была доступна в полном объеме.

Google
vladimir
24.07.2017
08:47:28
@ihard а что будет когда одна из нод отъедит?

Vladimir
24.07.2017
08:48:10
@ihard а что будет когда одна из нод отъедит?
если писать в две ноды то все будет нормально ж, но возможно репликация таки лучше чем двойная запись

Evgeny
24.07.2017
08:48:36
@ihard а что будет когда одна из нод отъедит?
поток метрик идет через балансер в carbon-c-relay в нем есть очередь у меня часов на 20 хватает

это для догона отваливщейся реплики

vladimir
24.07.2017
08:50:06
хм, тоесть ты предлагаешь пользователям потерпеть 20 часов без данных по работе их сервисов, пока мы чиним сломанную ноду?

Vladimir
24.07.2017
08:50:30
если репликация его средствами

Evgeny
24.07.2017
08:50:46
почему терпеть , весь поток метрик идет на оставшуюся ноду - для пользователей ничего не меняется они видят все метрики

vladimir
24.07.2017
08:51:13
они видят данные которые приходят сейчас, а все хвосты уже не видят

Evgeny
24.07.2017
08:51:56
у меня же зеркало

vladimir
24.07.2017
08:53:16
это первый вариант в моем предложении, считаю что он не ок потому, что данным может быть очень много - и кеша релея хватит не на 20 часов а на 20 минут

и как потом синкать друг с другом эти зеркала - вопрос

Я использую вариант 2.
оверхед на сеть не слишком большой? типа сначала 3 потока данных влетают в 3 ноды, а потом они еще синкаются между собой по сети

или даже не так - сначала прилетает значение в 1 сервер -синкаемся с 2-мя - потом прилетает значение во 2 сервер - синкаемся с 2-мя - потом в 3-ий ...

м.б. есть смысл писать в какой нить haproxy и через roundrobin Заливать на 3 сервера, если один из них отъедит то хапрокси автоматом будет писть только в 2

Vladimir
24.07.2017
08:57:20
vladimir не надо писать дважды, юзай репликацию кликхауса. Тогда синк можно делать средствами КХ

потому что в случаи КХ сделать синк не его средствами будет сложновато

пили просто в any_of сервер

Google
Vladimir
24.07.2017
08:58:10
ну или первый и второй как бэкап

на твой выбор

Vladimir
24.07.2017
08:58:38
средствами КХ - это zookeeper?
ну оно потребует зукипер

vladimir
24.07.2017
08:58:57
ок, попробую так

Vladimir
24.07.2017
08:58:59
vladimir zookeeper внешная штука, которую КХ использует для синхронизации действий

vladimir просто в КХ есть механизмы восстановления сдохшей железки

Admin
ERROR: S client not available

Roman
24.07.2017
08:59:33
vladimir
24.07.2017
08:59:51
наших сетевиков беспокоит =D

Vladimir
24.07.2017
09:00:01
vladimir оно данные жмет, так что вы проверье )

в отличии кстати от carbon-c-relay :0

последний гоняет несжатие данные

то есть где-то трафика будет в 6-10 раз больше чем между двумя КХ серверами по его протоколу

vladimir
24.07.2017
09:00:52
круть

vladimir
24.07.2017
12:01:31
а можно ссылочку на доку - где это сказано

Vladimir
24.07.2017
12:07:04
vladimir в случаи с репликациями все довольно просто и очевидно

у тебя есть следующие варианты: Replication Factor = m - каждую точку хэшируем m раз и пишем на m разных нод

писать m раз

Google
Vladimir
24.07.2017
12:07:44
реплицировать на m машин

У всех трех подходов свои особенности есть

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

а потом начинаешь терять ~ 1/(m-1) данных на каждую упавшую ноду, если считать что распределение у тебя идеальное

писать m раз очень похож на "реплицировать на m машин" по характеристикам

там появляется вероятность потерять данные от падения более чем m-1 машин

vladimir
24.07.2017
12:09:42
что то я вот тут: https://clickhouse.yandex/docs/ru/table_engines/distributed.html про Replication Factor ничего найти не могу

vladimir
24.07.2017
12:09:59
так

а кто умеет?

Vladimir
24.07.2017
12:10:13
а кто умеет?
ты можешь на уровне relay'а это делать

но подумай точно ли тебе нужно

vladimir КХ умеет только схему "реплицируем на m машин"

vladimir
24.07.2017
12:10:48
ну вот я про это и говорил

что шардирование в КХ не поддерживает Replication Factor, об остальных вариантах я вкурсе

Vladimir
24.07.2017
12:11:24
vladimir но как бы у тебя Replication Factor vs Репликация это trade-off количества потерянных данных в случаи отказа на уменьшение вероятности события

поэтому я вот не уверен что Replication Factor под такие данные вообще нужен

потому что железо оно не экономит

vladimir
24.07.2017
12:12:48
под репликации надо таблици пересоздавать - =(

Страница 216 из 681