Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Apache Ambari é uma interface web para gerenciar e monitorar clusters HDInsight. Para uma introdução à interface web do Ambari, consulte Gerir clusters HDInsight utilizando a Interface Web do Apache Ambari.
A configuração do Apache HBase é modificada na guia Configurações do HBase . As seções a seguir descrevem algumas das definições de configuração importantes que afetam o desempenho do HBase.
Definir HBASE_HEAPSIZE
Observação
Este artigo contém referências ao termo mestre, um termo que a Microsoft não usa mais. Quando o termo for removido do software, iremos removê-lo deste artigo.
O tamanho da pilha do HBase especifica a quantidade máxima de heap a ser usada em megabytes por região e servidores mestres . O valor padrão é 1.000 MB. Esse valor deve ser ajustado para a carga de trabalho do cluster.
Para modificar, navegue até o painel Advanced HBase-env na guia HBase Configs e localize a
HBASE_HEAPSIZEconfiguração.Altere o valor padrão para 5.000 MB.
Otimize cargas de trabalho de leitura pesada
As configurações a seguir são importantes para melhorar o desempenho de cargas de trabalho de leitura pesada.
Tamanho do cache de bloco
O cache de bloco é o cache de leitura. O hfile.block.cache.size parâmetro controla o tamanho do cache de bloco. O valor padrão é 0,4, que é 40% da memória total do servidor da região. Quanto maior o tamanho do cache de bloco, mais rápidas serão as leituras aleatórias.
Para modificar esse parâmetro, navegue até a guia Configurações na guia Configurações do HBase e localize % de RegionServer alocado para buffers de leitura.
Para alterar o valor, selecione o ícone Editar .
Tamanho da memstore
Todas as edições são armazenadas no buffer de memória, chamado de Memstore. Esse buffer aumenta a quantidade total de dados que podem ser gravados no disco em uma única operação. Também acelera o acesso às edições recentes. O tamanho do Memstore define os dois parâmetros a seguir:
hbase.regionserver.global.memstore.UpperLimit: Define a porcentagem máxima do servidor de região que o Memstore combinado pode usar.hbase.regionserver.global.memstore.LowerLimit: Define a porcentagem mínima do servidor de região que o Memstore combinado pode usar.
Para otimizar para leituras aleatórias, você pode reduzir os limites superior e inferior do Memstore.
Número de linhas obtidas durante a leitura a partir do disco
A hbase.client.scanner.caching configuração define o número de linhas lidas do disco quando o next método é chamado em um scanner. O valor padrão é 100. Quanto maior o número, menos chamadas remotas feitas do cliente para o servidor da região, resultando em verificações mais rápidas. No entanto, essa configuração aumenta a pressão de memória no cliente.
Importante
Não defina o valor de forma que o tempo entre a invocação do próximo método em um scanner seja maior do que o tempo limite do scanner. A duração do tempo limite do scanner hbase.regionserver.lease.period é definida pela propriedade.
Otimizar cargas de trabalho de escrita intensiva
As configurações a seguir são importantes para melhorar o desempenho de cargas de trabalho com muita gravação.
Tamanho máximo do arquivo de região
O HBase armazena dados em um formato de arquivo interno, chamado HFile. A propriedade hbase.hregion.max.filesize define o tamanho de um único HFile para uma região. Uma região é dividida em duas regiões se a soma de todas HFiles em uma região for maior do que essa configuração.
Quanto maior o tamanho do arquivo de região, menor o número de divisões. Você pode aumentar o tamanho do arquivo para determinar um valor que resulte no desempenho máximo de gravação.
Evite o bloqueio de atualizações
A propriedade
hbase.hregion.memstore.flush.sizedefine o tamanho no qual Memstore é liberado para o disco. O tamanho padrão é 128 MB.O
hbase.hregion.memstore.block.multiplierdefine o multiplicador de bloco de região do HBase. O valor padrão é 4. O máximo permitido é 8.O HBase bloqueia atualizações se o Memstore tiver (
hbase.hregion.memstore.flush.size*hbase.hregion.memstore.block.multiplier) bytes.Com os valores padrão de tamanho de liberação e multiplicador de bloco, as atualizações são bloqueadas quando o Memstore tem 128 * 4 = 512 MB de tamanho. Para reduzir a contagem de bloqueios de atualização, aumente o valor de
hbase.hregion.memstore.block.multiplier.
Definir o tamanho do Memstore
Os parâmetros hbase.regionserver.global.memstore.upperLimit e hbase.regionserver.global.memstore.lowerLimit definem o tamanho do Memstore. Definir esses valores iguais entre si reduz as pausas durante as gravações (também causando descargas mais frequentes) e resulta em maior desempenho de gravação.
Definir buffer de alocação local do Memstore
A propriedade hbase.hregion.memstore.mslab.enabled define o uso do buffer de alocação local do Memstore. Quando ativada (true), esta definição evita a fragmentação do heap durante operações intensivas de escrita. O valor padrão é true.
Próximos passos
- Gira clusters HDInsight com a Interface Web do Apache Ambari
- API REST do Apache Ambari
- Otimizar clusters
- Otimizar o Apache Hive
- Otimizar o Apache Pig