mr tuning

En primer lugar, el propósito de afinar
el máximo provecho del rendimiento de las máquinas, de forma más rápida las tareas de mr programa de computación. Incluso en las condiciones limitadas de la máquina, capaz de soportar más que suficiente para ejecutar el programa de mr.
En segundo lugar, una visión general de la puesta a punto
de los mecanismos internos de la mr programa, mr podemos entender un programa por el mapeador y reductor de dos fases, en la que el asignador incluye una fase de lectura de datos, procesamiento de mapa, y las operaciones de escritura (tipo y combinación / Ordenar y fusión), y reductor de fase comprende un asignador de adquisición de datos de salida, consolidación de datos (tipo y fusión), reducir el procesamiento y operaciones de escritura. A continuación, la subfase de siete, la intensidad puede ser grande mapa de sintonía es de salida, operación de combinación de datos de sintonización y reductor reductor número de estas tres áreas. Que si bien el ajuste del rendimiento incluyendo CPU, memoria, disco y red io cuatro áreas principales, pero la ejecución del flujo de programa sr, podemos saber es que hay memoria de sintonización, disco y red io. Sintonizar el programa sr, la consideración principal es reducir el tráfico de red y reducir las operaciones de IO de disco, así que el señor de sintonización este curso incluye servidor de código de sintonización, sintonía Mapper, la afinación reductora y el corredor de sintonización este cinco.

Tres, MapReduce Sintonía
1. mapreduce.task.io.sort.factor: sr programa de fusión de ordenación cuando el número de archivos abiertos, por defecto es 10.
2. mapreduce.task.io.sort.mb: programa del Sr. operación de ordenación de mezcla cuando el asignador de tiempo o datos de escritura, el tamaño de la memoria, un defecto 100M
3. mapreduce.map.sort.spill.percent: sr umbral programa de operación de vaciado, por defecto de 0,80.
4. mapreduce.reduce.shuffle.parallelcopies: Hilos de mr reductor copian los datos del programa, por defecto 5.
5. mapreduce.reduce.shuffle.input.buffer.percent: reducir el tiempo para copiar el porcentaje tamaño del montón mapa de memoria de datos especificado, el valor predeterminado es 0,70, un valor adecuado se puede reducir para aumentar el mapa disco desbordamiento de datos, el rendimiento del sistema se puede mejorar.
6. mapreduce.reduce.shuffle.merge.percent: reducir el tiempo para llevar a cabo shuffle, el umbral para iniciar el proceso de fusión de la salida de rebose y escritura en disco, el valor predeterminado es 0,66. Si se permite, y aumentar la proporción de desbordamiento puede reducir el número de escritura en disco, mejorar el rendimiento del sistema. Se utiliza con mapreduce.reduce.shuffle.input.buffer.percent.
7. mapreduce.task.timeout: aplicación mr tarea de informes hora de caducidad del programa, por defecto 600 000 (10 min), 0 a no establece el valor de juicio.

En cuarto lugar, el código de sintonización
la puesta a punto del código, sobre todo asignador y el reductor, el objeto más de una vez para la creación de la operación de código propuesto. Los códigos de ajuste y procedimiento general como Java.
Cinco, asignador de sintonización
sintonización de asignador principalmente en un objetivo: reducir la producción. Podemos combinar el tono asignador mediante el aumento de los valores de la etapa de salida y compresión.
combinar Introducción:
implementar una clase personalizada reductor se combinan para características Heredar:
para mapear la salida del par clave / valor como la entrada de llave y de salida de la llave, es reducir la salida de la red, parte de los datos en el mapa nodo fusión.
, La salida de mapa más adecuado es estadísticas numéricas, convenientes.
ajustes de compresión:
Conjunto comienzan la compresión y la compresión especifican el momento de presentar trabajo, respectivamente.
Seis, ajuste reductor
de afinación reductora se lleva a cabo principalmente por el número de parámetros de ajuste y configuración del reductor.
Sintonización reductor Número:
Requisitos: consistentes con los resultados de un reductor y una pluralidad del reductor, no puede resultar en una excepción porque el reductor pluralidad resultado de la ejecución.
Reglas: Requisitos generales programa de ejecución mr en el cluster Hadoop, después de la ejecución mapa se completó el 100 por ciento, lo más temprano posible reductor ver con la aplicación de 33 por ciento, puede job_id comando hadoop -status trabajo o la página Web para ver.
Causa: Número de proceso del mapa se realiza a través de la recordread retorno InputFormat definido; el reductor está formado de tres partes, respectivamente, para leer asignador de datos de salida, datos de salida y fusionar todo reducir el procesamiento, en el que el primer paso a realizar depende en el mapa, por lo tanto, en el caso del caso de gran cantidad de datos, un reductor no puede cumplir con los requisitos de rendimiento, que puede resolver este problema mediante el aumento del número de reductor.
Ventajas: pleno uso de las ventajas de la agrupación.
Desventajas: Algunos programas no mr reductor utilizando múltiples ventajas, como el acceso al programa mr subir n.
Siete, corredor tuning
tuning corredor es en realidad un conjunto de parámetros del trabajo al presentar el trabajo, por lo general se puede establecer a través de código y los archivos XML de dos maneras.
1-8 Ver ActiveUserRunner (antes y métodos de configure), 9 TransformerBaseRunner detallada (initScans Method)

1. mapred.child.java.opts: procesos childyard Modificar los parámetros de ejecución de JVM son válidos para el mapa y el reductor, por defecto: -Xmx200m
2. mapreduce.map.java.opts: la necesidad de cambiar el mapa de procesos etapa childyard de la aplicación de parámetros de JVM, el valor por defecto está vacío, cuando está vacío, utilizar mapred.child.java.opts.
3. mapreduce.reduce.java.opts: Modificar etapa del proceso childyard reductor de la aplicación de parámetros de JVM, el valor por defecto está vacío, cuando está vacío, mapred.child.java.opts uso.
4. mapreduce.job.reduces: número reductor predeterminado Modificar es 1. Puede ser cambiado por el método job.setNumReduceTasks.
5. mapreduce.map.speculative: si desea iniciar la fase de aplicación de la hoja especulativa, el valor predeterminado es cierto. De hecho, la situación general está mejor establecida en false. Es posible que se configura por un job.setMapSpeculativeExecution método.
6. mapreduce.reduce.speculative: si desea iniciar la fase de implementación reducir la especulación, el valor predeterminado es cierto, de hecho, establecidos con carácter general Fase mejor. Es posible que se configura por un job.setReduceSpeculativeExecution método.
7. mapreduce.map.output.compress: Establecer si desea iniciar la salida de mapa mecanismo de compresión, el valor predeterminado es falso. Cuando sea necesario para reducir la transmisión de la red se puede establecer en true.
8. mapreduce.map.output.compress.codec: Se proporciona un mapa mecanismo de compresión de salida, el valor predeterminado es org.apache.hadoop.io.compress.DefaultCodec, recomendó SnappyCodec (versión necesidades que se deben realizar antes de la operación de montaje, la versión actual no es clara , los parámetros de instalación: http: //www.cnblogs.com/chengxin1982/p/3862309.html)

Supongo que te gusta

Origin www.cnblogs.com/nacyswiss/p/12627891.html
Recomendado
Clasificación