Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Servidor de historial persistente de Dataproc

Descripción general

Después de borrar los clústeres de Dataproc, los usuarios a menudo desean ver los archivos del historial de trabajos para diagnósticos o para otros fines. El servidor de historial persistente de Dataproc (PHS) proporciona una IU para ver el historial de trabajos de los trabajos que se ejecutan en los clústeres activos y borrados de Dataproc.

El servidor de historial persistente se ejecuta en un clúster de Dataproc de nodo único, almacena y accede a los archivos del historial de trabajos en Cloud Storage y admite los trabajos MapReduce, Spark y Pig. Esta función está disponible en la versión 1.4-debian10 de Dataproc y las posteriores.

Configura clusteres de trabajo

Especifica la siguiente marca y propiedades del clúster cuando creas un clúster de trabajos de Dataproc que almacenará los registros de trabajos a los que un clúster del servidor de historial persistente accederá y mostrará.

  • --enable-component-gateway: Marca obligatoria. Esta marca debe usarse para habilitar la puerta de enlace de componentes.
  • dataproc:job.history.to-gcs.enabled: Propiedad del clúster obligatoria. Esta propiedad debe establecerse como "true" para habilitar el almacenamiento del historial de trabajos en Cloud Storage.
  • spark:spark.history.fs.logDirectory y spark:spark.eventLog.dir Propiedades de clústeres opcionales. Estas marcas especifican la ubicación para escribir el historial de trabajos y los registros de eventos de Spark, respectivamente. Si se usa, ambas marcas deben configurarse y apuntar a directorios dentro del mismo depósito.
    Propiedades de muestra:
    spark:spark.history.fs.logDirectory=gs://bucket-name/directory-name/spark-job-history,
    spark:spark.eventLog.dir=gs://bucket-name/directory-name/spark-job-history
    
  • mapred:mapreduce.jobhistory.intermediate-done-dir y mapred:mapreduce.jobhistory.done-dir: Propiedades de clústeres opcionales. Estas marcas especifican la ubicación de Cloud Storage para escribir archivos intermedios y finales del historial de trabajos de MapReduce, respectivamente. Si se usa, ambas marcas deben configurarse y apuntar a directorios dentro del mismo depósito. La ubicación intermedia mapreduce.jobhistory.intermediate-done-dir es el almacenamiento temporal. Los archivos intermedios se trasladan a la ubicación mapreduce.jobhistory.done-dir cuando se completa el trabajo de MapReduce.
    Propiedades de muestra:
    mapred:mapreduce.jobhistory.done-dir=gs://bucket-name/directory-name/mapreduce-job-history/done,
    mapred:mapreduce.jobhistory.intermediate-done-dir=gs://bucket-name/directory-name/mapreduce-job-history/intermediate-done
    
  1. Ejecuta el comando gcloud dataproc clusters create para crear un clúster de trabajos. El clúster debe crearse con la imagen 1.4-debian10 o posterior. Nota: Para facilitar la lectura, los valores de las marcas --property se muestran a continuación en líneas separadas. Cuando ejecutas el comando, todos los valores de la marca --property separados por comas se deben especificar en una línea.
    gcloud dataproc clusters create cluster-name \
        --region=region \
        --image-version=1.4-debian10 \
        --enable-component-gateway \
        --properties='dataproc:job.history.to-gcs.enabled=true,
    spark:spark.history.fs.logDirectory=gs://bucket-name/directory-name/spark-job-history,
    spark:spark.eventLog.dir=gs://bucket-name/directory/spark-job-history,
    mapred:mapreduce.jobhistory.done-dir=gs://bucket-name/directory/mapreduce-job-history/done,
    mapred:mapreduce.jobhistory.intermediate-done-dir=gs://bucket-name/directory-name/mapreduce-job-history/intermediate-done'
    
gcloud dataproc clusters create cluster-name \
    --region=region \
    --image-version=1.4-debian10 \
    --enable-component-gateway \
    --properties='dataproc:job.history.to-gcs.enabled=true'

Si usas el comando simplificado que se muestra arriba, los archivos de historial de trabajos se guardarán en el bucket temporal de Dataproc en los directorios predeterminados: /spark-job-history, /mapreduce-job-history/done, y /mapreduce-job-history/intermediate-done. La ubicación del bucket temporal de Cloud Storage se muestra en el resultado del comando gcloud dataproc clusters describe cluster-name --region=region. La ubicación de Cloud Storage de los archivos del historial de trabajos también se muestra en los archivos /etc/spark/conf/spark-defaults.conf y /etc/hadoop/conf/mapred-site.xml del clúster.

Ejemplos después de SSH en el nodo principal del clúster de trabajos:

cat /etc/spark/conf/spark-defaults.conf
...
spark.history.fs.logDirectory=gs://temp-bucket/spark-job-history
spark.eventLog.dir=gs://temp-bucket/spark-job-history
cat /etc/hadoop/conf/mapred-site.xml
...
<property>
  <name>mapreduce.jobhistory.done-dir</name>
  <value>gs://temp-bucket/mapreduce-job-history/done</value>
</property>
<property>
  <name>mapreduce.jobhistory.intermediate-done-dir</name>
  <value>gs://temp-bucket/mapreduce-job-history/done_intermediate</value>
</property>

Configura un servidor de historial persistente

Cuando creas un clúster de nodo único de PHS, debes especificar la siguiente marca y propiedades del clúster:

  • --enable-component-gateway: Marca obligatoria. Esta marca debe usarse para habilitar la puerta de enlace de componentes.
  • spark:spark.history.fs.logDirectory: propiedad de clúster obligatoria para habilitar el historial de trabajos de Spark persistente. Esta propiedad especifica el depósito y los directorios de Cloud Storage en los que las PHS accederán a los registros del historial de trabajos de Spark escritos por los clústeres de trabajo (consulta Configura clústeres de trabajos). En lugar de especificar directorios de depósitos específicos, usa asteriscos como comodines (por ejemplo, gs://bucket-name/*/spark-job-history) para permitir que el servidor PHS coincida con varios directorios del depósito especificado escrito con diferentes clústeres de trabajo (pero, consulta Consideración de la eficiencia: usar comodines de la ruta de acceso).
  • mapred:mapreduce.jobhistory.read-only.dir-pattern: Propiedad de clúster obligatoria para habilitar el historial de trabajos persistente de MapReduce. Esta propiedad especifica los directorios de depósito de Cloud Storage en los que la PHS accederá a los registros del historial de trabajos de MapReduce escritos por clústeres de trabajo (consulta Configura clústeres de trabajos). En lugar de especificar directorios de depósitos específicos, usa asteriscos como comodines, (por ejemplo, gs://bucket-name/*/mapreduce-job-history/done) para permitir que el servidor PHS coincida con varios directorios del depósito especificado escrito por diferentes clústeres de trabajo (pero consulta la Consideración de la eficiencia: usar comodines de la ruta de acceso)
  1. Ejecuta el comando gcloud dataproc clusters create para crear un clúster de un solo nodo PHS de Dataproc.
    gcloud dataproc clusters create cluster-name \
        --single-node \
        --region=region \
        --image-version=1.4-debian10 \
        --enable-component-gateway \
        --properties='spark:spark.history.fs.logDirectory=gs://bucket-name/*/spark-job-history,mapred:mapreduce.jobhistory.done-dir=gs://bucket-name/*/mapreduce-job-history/done'
    

Visualiza los archivos del historial de trabajos

  1. Ve a la página Detalles del clúster de nodo único del PHS en Cloud Console y, luego, haz clic en la pestaña “INTERFACES WEB”.

  2. Haz clic en “MapReduce Job History” o “Spark History Server” para ver las IU del historial de trabajos de MapReduce y de Spark.

    Ejemplo:

    En la siguiente captura de pantalla, se muestra la IU del servidor de historial de PHS que muestra los vínculos a los trabajos de Spark que se ejecutan en job-cluster-1 y job-cluster-2 después de configurar spark.history.fs.logDirectory y spark:spark.eventLog.dir de los clústeres de trabajo y las ubicaciones spark.history.fs.logDirectory del clúster de PHS de la siguiente manera:

    job-cluster-1 gs://example-cloud-storage-bucket/job-cluster-1/spark-job-history
    job-cluster-2 gs://example-cloud-storage-bucket/job-cluster-2/spark-job-history
    phs-cluster gs://example-cloud-storage-bucket/*/spark-job-history