Puedes enviar, supervisar y controlar trabajos fácilmente en clústeres de Dataproc mediante la herramienta de línea de comandos de gcloud, Google Cloud Console o la API de REST de Cloud Dataproc. Cuando usas uno de estos mecanismos para enviar tu trabajo, Cloud Dataproc recopila automáticamente el resultado del controlador (consola) del trabajo y lo pone a tu disposición. Esto significa que puedes revisar con rapidez el resultado del controlador sin tener que mantener una conexión con el clúster mientras se ejecutan tus trabajos o analizar archivos de registro complicados.
Configuración del registro
De forma predeterminada, Cloud Dataproc usa un nivel de registro predeterminado WARN
para los programas de controladores. Esta configuración se puede ajustar con la línea de comandos, que te permite enviar un trabajo con la opción --driver-log-levels
.
El paquete root
especial controla el nivel del registrador raíz. Por ejemplo:
gcloud dataproc jobs submit hadoop ...\
--driver-log-levels root=FATAL,com.example=INFO
El registro se puede establecer a un nivel más detallado para cada trabajo. Por ejemplo, para ayudar a depurar problemas cuando se leen archivos de Cloud Storage, puedes enviar un trabajo con la opción --driver-log-levels
y especificar el nivel de registro DEBUG
de la siguiente manera:
gcloud dataproc jobs submit hadoop ...\
--driver-log-levels com.google.cloud.hadoop.gcsio=DEBUG
Nivel de registro del ejecutor de Spark
Puedes configurar los niveles de registro del ejecutor de Spark en los nodos del clúster con una acción de inicialización del clúster que edite o reemplace el archivo /etc/spark/conf/log4j.properties
(también consulta Apache Log4j 2).
Archivo /etc/spark/conf/log4j.properties
de muestra:
# Set everything to be logged to the console. log4j.rootCategory=INFO, 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: %m%n # Settings to quiet third party logs. log4j.logger.org.eclipse.jetty=WARN log4j.logger.org.eclipse.jetty.util.component.AbstractLifeCycle=ERROR log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO # Reduce verbosity for other core classes. log4j.logger.org.apache.spark=WARN log4j.logger.org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter=WARN log4j.logger.org.apache.hadoop.conf.Configuration.deprecation=WARN log4j.logger.org.spark-project.jetty.server.handler.ContextHandler=WARN # Spark 2.0 specific output. log4j.logger.org.spark_project.jetty.server.handler.ContextHandler=WARN.
Otros componentes de código abierto tienen archivos log4j.properties
similares que puedes editar o reemplazar con una acción de inicialización para controlar el resultado del registro.
Accede al resultado del controlador del trabajo
Puedes acceder al resultado del controlador del trabajo de Cloud Dataproc con Cloud Console, la herramienta de línea de comandos de gcloud
o Cloud Storage.
Comando de gcloud
Cuando envías un trabajo con el comando gcloud dataproc jobs submit, el resultado del controlador del trabajo se muestra en la consola. Puedes “reunificar” el resultado del controlador más adelante, en una computadora diferente o en una nueva ventana si pasas el ID del trabajo a laLos trabajos de gcloud dataproc esperan comando. El ID de trabajo es un GUID, como 5c1754a5-34f7-4553-b667-8a1199cb9cab
. A continuación, se muestra un ejemplo.
gcloud dataproc jobs wait 5c1754a5-34f7-4553-b667-8a1199cb9cab \ --project my-project-id --region my-cluster-region
Waiting for job output... ... INFO gcs.GoogleHadoopFileSystemBase: GHFS version: 1.4.2-hadoop2 ... 16:47:45 INFO client.RMProxy: Connecting to ResourceManager at my-test-cluster-m/ ...
Console
Para ver el resultado del controlador del trabajo, ve a la sección Trabajos de tu proyecto de Dataproc y luego haz clic en ID del trabajo para ver el resultado del trabajo.

Si el trabajo se está ejecutando, el resultado del controlador del trabajo se actualiza de forma periódica con contenido nuevo.
Cloud Storage
El resultado del controlador del trabajo se almacena en Cloud Storage en el depósito de etapa de pruebas o en el depósito que especificaste cuando creaste tu clúster. Se proporciona un vínculo al resultado del controlador de trabajo en Cloud Storage en el campo Job.driverOutputResourceUri que muestran estas opciones:
- Una solicitud a la API de jobs.get
- Un comando gcloud dataproc jobs describe job-id
$ gcloud dataproc jobs describe spark-pi ... driverOutputResourceUri: gs://dataproc-nnn/jobs/spark-pi/driveroutput ...