Ao implantar o Elasticsearch, quais são os métodos de otimização para as configurações do Linux?

Ao implantar o Elasticsearch, você pode melhorar o desempenho e a estabilidade otimizando as configurações do sistema Linux. Aqui estão alguns métodos de otimização comuns:

1. Limite do descritor de arquivo

O Elasticsearch requer muitos descritores de arquivo para lidar com dados e conexões, portanto, certifique-se de ajustar o limite de descritor de arquivo do seu sistema. Os limites podem ser aumentados modificando o arquivo /etc/security/limits.conf, por exemplo:

elasticsearch soft nofile 65536
elasticsearch hard nofile 65536

2. Memória virtual

Desativar a troca de memória virtual pode melhorar o desempenho, evitando que o sistema use demais o disco. O arquivo /etc/sysctl.conf pode ser editado para desabilitar a troca da seguinte forma:

vm.swappiness=0

Use o comando sysctl -p para carregar as novas configurações.

3. Ajuste dos parâmetros do kernel

De acordo com os requisitos do Elasticsearch, os parâmetros do kernel podem ser ajustados para melhorar o desempenho, por exemplo:

vm.max_map_count=262144

Isso pode ser definido em /etc/sysctl.conf e então carregado usando o comando sysctl -p.

4. Desative Páginas Enormes Transparentes

Páginas muito grandes podem afetar o desempenho do Elasticsearch em alguns casos. Pode ser desativado com o seguinte comando:

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

Essas configurações também podem ser definidas em scripts de inicialização.

5. Desative a ativação automática do THP

Adicionar a seguinte variável de ambiente ao seu script de inicialização garante que o THP não seja ativado automaticamente na reinicialização do sistema:

export ES_HEAP_NEWSIZE=1g
export ES_JAVA_OPTS="-XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow"
export ES_USE_GC_LOGGING="true"
export ES_GC_LOGGING_OPTS="-XX:+PrintGCDetails -XX:+PrintGCDateStamps"
export ES_PATH_CONF=/path/to/conf
export ES_HOME=/path/to/es
export ES_CLASSPATH=$ES_CLASSPATH:$ES_HOME/lib/sigar/*
export ES_HEAP_SIZE=8g
export ES_HEAP_NEWSIZE=2g
export ES_DIRECT_SIZE=2g
export ES_DIRECT_SIZE=1g
export ES_DIRECT_SIZE=512m
export ES_DIRECT_SIZE=256m

6. Otimize o sistema de arquivos

Use um sistema de arquivos moderno, como XFS ou EXT4, e certifique-se de que o sistema de arquivos esteja devidamente ajustado para sua carga de trabalho do Elasticsearch. Opções apropriadas, como noatime, podem ser usadas ao formatar o sistema de arquivos.

7. Configurações de segurança

Configure regras de firewall e grupo de segurança para permitir que apenas as portas e endereços IP necessários acessem o Elasticsearch. Isso ajuda a proteger o cluster contra acesso não autorizado.

8. Monitoramento e registro

Configure um sistema de monitoramento e registro adequado para que você possa monitorar o desempenho e a integridade do Elasticsearch em tempo real, encontrar problemas e fazer ajustes a tempo.

9. Manutenção regular

Realize regularmente tarefas de manutenção do Elasticsearch, como limpar dados expirados, otimizar índices etc., para manter a integridade do cluster.

Estas são algumas otimizações comuns e podem realmente variar dependendo da configuração do sistema, especificações de hardware e cargas de trabalho específicas. Antes de aplicar essas configurações, é recomendável ler a documentação oficial do Elasticsearch para obter as recomendações e configurações recomendadas mais recentes.

Acho que você gosta

Origin blog.csdn.net/cz_00001/article/details/132304343
Recomendado
Clasificación