Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Apache Ambari — это веб-интерфейс для управления кластерами HDInsight и мониторинга. Общие сведения о веб-интерфейсе Ambari см. в статье "Управление кластерами HDInsight" с помощью веб-интерфейса Apache Ambari.
Конфигурация Apache HBase изменяется на вкладке "Конфигурации HBase ". В следующих разделах описаны некоторые важные параметры конфигурации, влияющие на производительность HBase.
Установить HBASE_HEAPSIZE
Примечание.
В этой статье содержатся ссылки на термин master, который корпорация Майкрософт больше не использует. Когда этот термин будет удален из программного обеспечения, мы удалим его из статьи.
Размер кучи HBase указывает максимальное количество кучи для использования в мегабайтах по регионам и главным серверам. Значение по умолчанию — 1000 МБ. Это значение должно быть настроено для рабочей нагрузки кластера.
Чтобы внести изменения, перейдите на панель Advanced HBase-env на вкладке Конфигурации HBase, а затем найдите параметр
HBASE_HEAPSIZE
.Измените значение по умолчанию на 5000 МБ.
Оптимизация рабочих нагрузок с большим объемом чтения
Следующие конфигурации важны для повышения производительности рабочих нагрузок с большим объемом чтения.
Размер кэша блока
Кэш блоков — это кэш чтения. Параметр hfile.block.cache.size
управляет размером блока кэша. Значение по умолчанию — 0,4, что составляет 40 процентов от общего объема памяти сервера региона. Чем больше размер кэша блоков, тем быстрее будут выполняться случайные операции чтения.
Чтобы изменить этот параметр, перейдите на вкладку "Параметры " на вкладке " Конфигурации HBase", а затем найдите % региона, выделенного для чтения буферов.
Чтобы изменить значение, щелкните значок "Изменить ".
Размер Memstore
Все изменения хранятся в буфере памяти под названием Memstore. Этот буфер увеличивает общий объем данных, которые можно записать на диск в одной операции. Он также ускоряет доступ к недавним редактированиям. Размер Memstore определяет следующие два параметра:
hbase.regionserver.global.memstore.UpperLimit
: определяет максимальный процент ресурсов сервера региона, который может использовать Memstore в совокупности.hbase.regionserver.global.memstore.LowerLimit
: определяет минимальный процент ресурсов сервера региона, которые Memstore может использовать в совокупности.
Чтобы оптимизировать случайные операции чтения, можно уменьшить верхние и нижние пределы Memstore.
Количество строк, полученных при сканировании с диска
Параметр hbase.client.scanner.caching
определяет количество строк, считываемых с диска при next
вызове метода на сканере. Значение по умолчанию — 100. Чем выше число, тем меньше удаленных вызовов, сделанных от клиента к серверу региона, что приводит к более быстрому сканированию. Однако этот параметр повышает нагрузку на память клиента.
Это важно
Не устанавливайте значение таким образом, чтобы время между вызовом следующего метода на сканере больше времени ожидания сканера. Длительность времени ожидания сканера определяется свойством hbase.regionserver.lease.period
.
Оптимизация рабочих нагрузок с высокой нагрузкой на запись
Следующие конфигурации важны для повышения производительности рабочих нагрузок с высокой нагрузкой на запись.
Максимальный размер файла региона
HBase хранит данные во внутреннем формате файла, который называется HFile
. Свойство hbase.hregion.max.filesize
определяет размер одного HFile
в пределах региона. Регион разделен на два региона, если сумма всех HFiles
в регионе больше, чем этот параметр.
Чем больше размер файла региона, тем меньше количество разбиений. Размер файла можно увеличить, чтобы определить значение, которое приводит к максимальной производительности записи.
Избегайте блокировки обновлений
Свойство
hbase.hregion.memstore.flush.size
определяет размер, при котором Memstore сбрасывается на диск. Размер по умолчанию составляет 128 МБ.hbase.hregion.memstore.block.multiplier
определяет множитель блока региона HBase. Значение по умолчанию — 4. Максимально допустимое значение равно 8.HBase блокирует обновления, если хранилище Memstore равно (
hbase.hregion.memstore.flush.size
*hbase.hregion.memstore.block.multiplier
) байтам.При использовании значений по умолчанию размера сброса и умножения блоков обновления блокируются, если Memstore составляет 128 * 4 = 512 МБ. Чтобы уменьшить количество случаев блокировки обновлений, увеличьте значение
hbase.hregion.memstore.block.multiplier
.
Определение размера Memstore
Параметры hbase.regionserver.global.memstore.upperLimit
и hbase.regionserver.global.memstore.lowerLimit
определяют размер Memstore. Установка этих значений, равных друг другу, сокращает паузы во время записи (также вызывая более частый сброс) и приводит к увеличению производительности записи.
Настройка локального буфера выделения Memstore
hbase.hregion.memstore.mslab.enabled
Свойство определяет использование локального буфера выделения Memstore. Если этот параметр включен (true), этот параметр предотвращает фрагментацию кучи во время интенсивной операции записи. Значение по умолчанию — true.