Saltar para o conteúdo principal
Version: Next

Preparação do ambiente

Os procedimentos a seguir deverão ser realizados em todas as máquinas do Cluster de Big Data.

Desativação do Firewall

  1. Desabilite o serviço do Firewall:

    Terminal input
    systemctl stop firewalld;
    systemctl disable firewalld;
    warning

    Não sendo possível a desativação do Firewall, crie regras (iptables) para liberar a comunicação entre as máquinas nas portas utilizadas pelos serviços da Plataforma TDP.

Desativação do SELinux

  1. Desative temporariamente o SELinux:

    Terminal input
    setenforce 0;
  2. Desative permanentemente o SELinux:

    Terminal input
    sed -i --follow-symlinks "s+SELINUX=enforcing+SELINUX=disabled+g" /etc/selinux/config;
  3. Reinicie a máquina para efetivar a desativação permanente do SELinux.

Configuração de parâmetros do Kernel

  1. Evite ao máximo o uso da área de swap:

    Terminal input
    echo 'vm.swappiness=1' >> /etc/sysctl.conf;
    sysctl -p /etc/sysctl.conf;
    note

    O kernel do Linux disponibiliza uma configuração ajustável que controla a frequência com que a área de swap em disco é usada, chamada swappiness. Uma configuração de swappiness igual a zero significa que o disco será evitado a menos que seja absolutamente necessário (quando o servidor ficar sem memória), enquanto uma configuração de swappiness igual a 100 significa que os programas utilizarão a área de swap quase instantaneamente. Reduzir o valor de swappiness reduz a probabilidade de o kernel do Linux enviar a memória de uma aplicação para a área de swap. A área de swap é extremamente mais lenta que a memória, pois utiliza o disco em vez da memória RAM. Quando a área de memória dos processos é transferida para o disco eles podem sofrer pausas, o que pode causar problemas em serviços, como por exemplo o Apache Zookeeper.

    Figure 1 - Minimiza swap
    Figure 1 - Minimiza swap
  2. Altere o comportamento padrão de alocação de memória RAM:

    Terminal input
    echo 'vm.overcommit_memory=1' >> /etc/sysctl.conf;
    sysctl -p /etc/sysctl.conf;
    note

    Em ambientes de Big Data, nos quais é comum termos máquinas com grandes quantidades de memória RAM, recomendamos o valor 1 para a configuração overcommit_memory. Diferentemente do valor 0, que utiliza uma abordagem heurística para atender requisições de memória (malloc), o valor 1 assume que sempre há memória física suficiente, aumentando consideravelmente o desempenho de tarefas de uso intenso de memória.

    Figure 2 - Muda default RAM
    Figure 2 - Muda default RAM
  3. Desabilite o Transparent Huge Pages (THP):

    Terminal input
    echo never > /sys/kernel/mm/transparent_hugepage/enabled;
    echo never > /sys/kernel/mm/transparent_hugepage/defrag;
    echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local;
    echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >> /etc/rc.local;
    note

    Muitas distribuições Linux disponibilizam o THP como uma opção de baixa complexidade para aumentar o tamanho de blocos/páginas de memória (de 4KB para 2MB ou 1GB) e possibilitar o gerenciamento de muitos gigabytes, e até terabytes, de memória RAM. No entanto, as cargas de trabalho em ambientes de Big Data costumam ter um desempenho ruim com o THP ativado, porque tendem a ter padrões de acesso à memória esparsos, em vez de contínuos, sobrecarregando assim o CPU.

    Figure 3 - Desabilita THP
    Figure 3 - Desabilita THP

Sincronização de Tempo

  1. Instale um serviço de sincronização de tempo (NTP) para assegurar que a data e a hora das máquinas estejam sempre sincronizadas, prevenindo inconsistências em dados e serviços. Neste exemplo, utilizaremos o Chrony:

    Terminal input
    yum install chrony -y
    systemctl enable chronyd
    systemctl start chronyd
    Figure 4 - Instala a sincronização do tempo
    Figure 4 - Instala a sincronização do tempo
  2. Configure o Chrony para sincronizar com servidores NTP apropriados:

    Terminal input
    vi /etc/chrony.conf

    # Adicione ou ajuste os servidores NTP conforme necessário

    server 0.centos.pool.ntp.org iburst
    server 1.centos.pool.ntp.org iburst
    server 2.centos.pool.ntp.org iburst
    server 3.centos.pool.ntp.org iburst
    note

    Para salvar e sair do editor vi, pressione ESC, digite :wq e pressione Enter.

  3. Reinicie o serviço para aplicar as novas configurações:

    Terminal input
    systemctl restart chronyd
  4. Verifique o status da sincronização:

    Terminal input
    chronyc tracking
    chronyc sources
    Figure 5 - Configura Chrony
    Figure 5 - Configura Chrony