rosario paradas movi llego llega etr cuando cuand como colectivo carga app log4j apache-spark emr

log4j - paradas - movi rosario cuando llega



Cómo suprimir mensajes INFO para spark-sql ejecutándose en EMR? (3)

Pude hacer esto editando $HOME/spark/conf/log4j.properties según lo deseado, y llamando a spark-sql con --driver-java-options siguiente manera:

./spark/bin/spark-sql --driver-java-options "-Dlog4j.configuration=file:///home/hadoop/spark/conf/log4j.properties"

Pude verificar que se estaba usando el archivo correcto agregando -Dlog4j.debug a las opciones:

./spark/bin/spark-sql --driver-java-options "-Dlog4j.debug -Dlog4j.configuration=file:///home/hadoop/spark/conf/log4j.properties"

Estoy ejecutando Spark en EMR como se describe en Run Spark y Spark SQL en Amazon Elastic MapReduce :

Este tutorial le guiará en la instalación y el funcionamiento de Spark, un motor rápido y general para el procesamiento de datos a gran escala, en un clúster de Amazon EMR. También creará y consultará un conjunto de datos en Amazon S3 utilizando Spark SQL, y aprenderá cómo monitorear Spark en un clúster de Amazon EMR con Amazon CloudWatch.

Estoy intentando suprimir los registros INFO editando $HOME/spark/conf/log4j.properties inútilmente.

La salida se ve así:

$ ./spark/bin/spark-sql Spark assembly has been built with Hive, including Datanucleus jars on classpath SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/hadoop/.versions/2.4.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/hadoop/.versions/spark-1.1.1.e/lib/spark-assembly-1.1.1-hadoop2.4.0.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 2014-12-14 20:59:01,819 INFO [main] Configuration.deprecation (Configuration.java:warnOnceIfDeprecated(1009)) - mapred.input.dir.recursive is deprecated. Instead, use mapreduce.input.fileinputformat.input.dir.recursive 2014-12-14 20:59:01,825 INFO [main] Configuration.deprecation (Configuration.java:warnOnceIfDeprecated(1009)) - mapred.max.split.size is deprecated. Instead, use mapreduce.input.fileinputformat.split.maxsize 2014-12-14 20:59:01,825 INFO [main] Configuration.deprecation (Configuration.java:warnOnceIfDeprecated(1009)) - mapred.min.split.size is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize 2014-12-14 20:59:01,825 INFO [main] Configuration.deprecation (Configuration.java:warnOnceIfDeprecated(1009)) - mapred.min.split.size.per.rack is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize.per.rack

Cómo suprimir los mensajes INFO arriba?


spark-sql --driver-java-options "-Dlog4j.configuration = file: ///home/hadoop/conf/log4j.properties"

cat conf/log4j.properties

# Set everything to be logged to the console log4j.rootCategory=WARN, console log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.target=System.err log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n # Settings to quiet third party logs that are too verbose log4j.logger.org.eclipse.jetty=WARN log4j.logger.org.eclipse.jetty.util.component.AbstractLifeCycle=ERROR log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=WARN log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=WARN


También puede agregar la opción de configuración en la creación del clúster, si sabe que desea suprimir el registro de un nuevo clúster de EMR.

EMR acepta opciones de configuración como JSON, que puede ingresar directamente en la consola de AWS o pasar a través de un archivo al usar la CLI.

En este caso, para cambiar el nivel de registro a WARN , aquí está el JSON:

[ { "classification": "spark-log4j", "properties": {"log4j.rootCategory": "WARN, console"} } ]

En la consola, debe agregar esto en el primer paso de creación:

O si está creando el clúster utilizando la CLI:

aws emr create-cluster <options here> --configurations config_file.json

Puede leer más en la documentación de EMR .