Проблема с предварительным разделением таблицы TSDB HBase в openTSDB

Здесь у меня есть 2 региональных сервера, в которых я создал 2 метрики, названные ниже, с их UID (массив байтов JAVA).

метрики sys.rack.1: [0, 1, 5]

метрики sys.rack.2: [0, 1, 6]

Мне нужно предварительно разделить таблицу TSDB HBASE, чтобы распределить нагрузку между серверами 2 регионов. http://opentsdb.net/docs/build/html/user_guide/writing.html#pre-split-hbase-regions

HBase автоматически разделит регионы. Я хочу выполнить поведение самостоятельно, разделив его на регионы.

Я пробовал, но изначально он нацелен только на один регион для записи показателей. В каком диапазоне я могу разделить регионы? может ли кто-нибудь помочь мне решить эту проблему.

Отредактировано

Данные будут такими: sys.rack.1 host=20 sys.rack.2 host=18

В tsdb первые 3 байта метрик кодируются как массив байтов (0,1,5 от метрики 1 и 0,1,6 от метрики 2) и используются как ключ строки. В HBase мы закодировали значения с помощью семейства столбцов и Rowkey.


person karthik    schedule 18.05.2016    source источник
comment
привет Картик, не могли бы вы дать образец ваших данных?   -  person Whitefret    schedule 18.05.2016
comment
одна вещь, которую вы могли бы рассмотреть, - это хешировать ваши ключи, чтобы ваши ключи имели более широкий диапазон. тогда вам просто нужно разделить hbase в диапазоне хэшей (в зависимости от нагрузки)   -  person Whitefret    schedule 18.05.2016
comment
на самом деле схема будет такой: user_guide/backends/hbase.html . Подскажите, пожалуйста, как хэшировать такие ключи?   -  person karthik    schedule 18.05.2016
comment
увидев схему, вы потеряете быстрый запрос на хеширование. из того, что я прочитал в tsdb, вы захотите разделить регион на метрики, чтобы у вас был один регион для каждой метрики. Я не думаю, что вы можете добиться большего успеха, если хотите оптимизировать чтение.   -  person Whitefret    schedule 18.05.2016
comment
При сканировании таблицы это будет выглядеть как \x00\x00\x0CW5\x97\x column=t:\xFDL\xFFA, timestamp=1463133487944, value=\x0F\x90\x00\x00\x02\x00\x 07 закодированное значение где t будет семейством столбцов. Поскольку я учусь в HBase, у меня нет никакой идеи, чтобы решить проблемы с горячими точками регионального сервера.   -  person karthik    schedule 18.05.2016
comment
да, но всего с двумя показателями вы не можете разделить больше, поэтому у вас будет горячая точка регионального сервера. однако я не думаю, что это имеет значение, потому что у вас есть только две метрики   -  person Whitefret    schedule 18.05.2016
comment
это нормально, есть ли возможность записать точки данных для метрики 1 на региональный сервер 1 и метрику 2 на региональный сервер 2???   -  person karthik    schedule 18.05.2016
comment
Давайте продолжим это обсуждение в чате.   -  person Whitefret    schedule 18.05.2016


Ответы (1)


нашел решение при создании таблицы в HBase, которую необходимо предварительно разделить с помощью приведенной ниже команды в соответствии с метриками, которые мы создали в TSDB. чтобы узнать метрики, вы сканируете таблицу UID TSDB, представленную в HBase, на основе которой вы можете разделить ее, как показано ниже.

create 'tsdb','t',SPLITS => ['\x00\x00\x01', '\x00\x00\x02','\x00\x00\x03', '\x00\x00\x04']

Наконец-то я могу предварительно разделить таблицы.

person karthik    schedule 18.08.2016