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
-
Desabilite o serviço do Firewall:
systemctl stop firewalld; systemctl disable firewalld;
Não sendo possível a desativação do Firewall, crie regras (iptables) para liberar a comunição entre as máquinas nas portas utilizadas pelos serviços da Plataforma TDP. |
Desativação o SELinux
-
Desative temporariamente o SELinux:
setenforce 0;
-
Desative permanentemente o SELinux:
sed -i --follow-symlinks "s+SELINUX=enforcing+SELINUX=disabled+g" /etc/selinux/config;
-
Reinicie a máquina para efetivar a desativação permanente do SELinux.
Configuração de parâmetros do Kernel
-
Evite ao máximo o uso da área de swap:
echo 'vm.swappiness=1' >> /etc/sysctl.conf; sysctl -p /etc/sysctl.conf;
O kernel do Linux fornece 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. |
-
Altere o comportamento padrão de alocação de memória RAM:
echo 'vm.overcommit_memory=1' >> /etc/sysctl.conf; sysctl -p /etc/sysctl.conf;
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 (maloc), o valor 1 assume que sempre há memória física suficiente, aumentando consideravelmente o desempenho de tarefas de uso intenso de memória. |
-
Desabilite o Transparent Huge Pages (THP):
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;
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. |
Sincronização de Tempo
-
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. Por exemplo:
yum install ntp -y; systemctl enable ntpd; systemctl start ntpd;
-
Sincronize a data e a hora com um servidor NTP:
ntpdate -u pool.ntp.org