Azure HDInsight Accelerated Writes for Apache HBase (Ускорение операций записи Azure HDInsight для Apache HBase)

Эта статья содержит сведения о функции ускоренной записи для Apache HBase в Azure HDInsight и о том, как ее можно эффективно использовать для повышения производительности операций записи. Для ускоренной записи используются управляемые диски Azure SSD ценовой категории "Премиум", которые позволяют повысить производительность журнала упреждающей записи Apache HBase (WAL). Дополнительные сведения об Apache HBase см. в статье Что такое Apache HBase в HDInsight.

Общие сведения об архитектуре HBase

В HBase строка состоит из одного или нескольких столбцов и определяется ключом строки. Таблица состоит из нескольких строк. Столбцы содержат ячейки, представляющие собой версии значения в этом столбце с проставленной меткой времени. Столбцы группируются в семейства столбцов, а все столбцы в семействе столбцов хранятся вместе в файлах HFilesхранилища.

Регионы в HBase используются для балансировки нагрузки по обработке данных. Сначала HBase сохраняет строки таблицы в одном регионе. Строки распределяются по нескольким регионам по мере увеличения объема данных в таблице. Серверы регионов могут выполнять запросы к нескольким регионам.

Журнал упреждающей записи для Apache HBase

HBase сначала записывает обновления данных в один из типов журнала фиксации, называемый журналом упреждающей записи (WAL). После того как обновление будет сохранено в WAL, оно записывается в MemStore в памяти. Когда данные в памяти достигают максимальной емкости, он записывается на диск в виде HFile.

Если RegionServer аварийно завершает работу или становится недоступным до освобождения MemStore, для воспроизведения обновлений можно использовать журнал упреждающей записи. Без wal, если сервер RegionServer завершает работу перед очисткой обновлений HFileдо обновления, все эти обновления будут потеряны.

Функция ускоренной записи в Azure HDInsight для Apache HBase

Функция ускоренной записи решает проблему с увеличением задержек при записи, вызванную использованием журналов упреждающей записи, которые находятся в облачном хранилище. Функция ускоренной записи для кластеров HDInsight Apache HBase подключает управляемые диски SSD ценовой категории "Премиум" к каждому RegionServer (рабочему узлу). Затем журналы упреждающей записи записываются в файловую систему Hadoop (HDFS), подключенную к этим управляемым дискам ценовой категории "Премиум", а не в облачное хранилище. Управляемые диски ценовой категории "Премиум" используют твердотельные накопители (SSD) и обеспечивают отличную производительность операций ввода-вывода с отказоустойчивостью. В отличие от неуправляемых дисков, если одна единица хранения выходит из строя, она не влияет на другие единицы хранения в той же группе доступности. В результате управляемые диски обеспечивают низкую задержку при записи и повышенную устойчивость для приложений. Дополнительные сведения о дисках, управляемых Azure, см. в статье Общие сведения об управляемых дисках Azure.

Включение ускоренной записи для HBase в HDInsight

Чтобы создать кластер HBase с функцией ускоренной записи, выполните действия, описанные в разделе Настройка кластеров в HDInsight. На вкладке Основное выберите HBase в качестве типа кластера, укажите версию компонента и установите флажок Включить ускоренную запись HBase. Затем продолжите выполнение оставшихся действий по созданию кластера.

Включите параметр ускорения записи для HDInsight Apache HBase.

Проверка включения функции ускорения записи

С помощью портал Azure можно проверить, включена ли функция ускорения записи в кластере HBASE.

  1. Найдите кластер HBASE в портал Azure.
  2. Выберите колонку "Размер кластера".
  3. Будут отображаться диски уровня "Премиум" на рабочий узел .

Масштабирование кластеров HBASE

Чтобы сохранить устойчивость данных, создайте кластер как минимум с тремя рабочими узлами. После создания кластера число рабочих узлов не может быть ниже трех.

Очистите или отключите таблицы HBase перед удалением кластера, чтобы не потерять данные журнала упреждающей записи.

flush 'mytable'
disable 'mytable'

Выполните аналогичные действия при уменьшении масштаба кластера: очистка таблиц и отключение таблиц для остановки приема данных. Число узлов кластера не может быть меньше трех.

Выполнение этих действий обеспечит успешное уменьшение масштаба и позволит избежать возможного перехода namenode в защищенный режим из-за недореплицированных или временных файлов.

Если имя пользователя переходит в безопасный режим после уменьшения масштаба, используйте команды HDFS, чтобы повторно реплицировать реплицированные блоки и получить hdfs из безопасного режима. Такая повторная репликация позволит успешно перезапустить HBase.

Следующие шаги