Ajuste del clúster de big data

HDFS

escena 1:
Cuando el DataNode comience a funcionar (encendido), informará el bloque de datos local al cliente de NameNode para su registro. En este momento, el número de clientes es más importante. Si es demasiado pequeño, el DataNode siempre se agotará o conectar cuando se conecte al NameNode. Rejected; si la configuración es demasiado grande, la sobrecarga de memoria aumentará, causando un desperdicio innecesario y eventualmente puede causar un desbordamiento de la memoria.
Parámetros: dfs.namenode.handler.count
NameNode tiene un grupo de subprocesos de trabajo, que se utiliza para procesar los latidos simultáneos de diferentes DataNodes y operaciones de metadatos concurrentes del cliente. El tamaño del grupo de subprocesos se especifica de acuerdo con este parámetro, el valor predeterminado el valor es 10, este valor El principio de configuración general es establecerlo en el logaritmo natural del tamaño del grupo multiplicado por 20, es decir, 20logN , donde N es el tamaño del grupo.
#配置文件hdfs-site.xml
<property>
<name>dfs.namenode.handler.count</name>
<value>10</value>
</property>
Python se puede utilizar para cálculos específicos. El siguiente ejemplo utiliza 8 nodos como ejemplo
[root@fan102 ~]# python -c 'import math ; print int(math.log(8) * 20)'
41

 

HILO

Escenario 1: un total de 7 máquinas, cientos de millones de datos por día, fuente de datos -> Flume-> Kafka-> HDFS-> Hive

Problemas de enfrentamiento: HiveSQL se usa principalmente para estadísticas de datos, no hay datos sesgados, se han fusionado archivos pequeños, la JVM abierta se reutiliza y el IO no está bloqueado y la memoria es inferior al 50%. Pero aún funciona muy lentamente, y cuando el volumen de datos alcanza su punto máximo, todo el clúster disminuirá. En base a esta situación, ¿existe algún plan de optimización?

Análisis: utilización de memoria insuficiente . Esto generalmente se debe a las dos configuraciones de Yarn, el tamaño máximo de memoria que puede solicitar una sola tarea y el tamaño de memoria disponible de un solo nodo Hadoop. El ajuste de estos dos parámetros en el archivo yarn-site.xml puede mejorar la utilización de la memoria del sistema.

Parámetro 1: yarn.nodemanager.resource.memory-mb

Indica la cantidad total de memoria física que YARN puede usar en este nodo. El valor predeterminado es 8192 (MB). Generalmente, el servidor 128G está configurado como 100G y el servidor 64G está configurado como 50G. Nuestro servidor es 188G, por lo que Establecí este valor en 120G. Tenga en cuenta que si los recursos de memoria de su nodo no son suficientes de 8 GB, debe reducir este valor y YARN no detectará de forma inteligente la memoria física total del nodo.
Parámetro 2: yarn.scheduler.maximum-deployment-mb
representa la cantidad máxima de memoria física que puede solicitar una sola tarea, el valor predeterminado es 8192 (MB), este valor debe determinarse de acuerdo con el tamaño de los datos de la tarea, 128 MB corresponde a 1 GB de memoria

 

Supongo que te gusta

Origin blog.csdn.net/shenyuye/article/details/108827842
Recomendado
Clasificación