Dataproc mendiagnosis perintah cluster

"Ringkasan Diagnostik Perintah Cluster Dataproc | Google Cloud"

Anda dapat menjalankan perintah gcloud dataproc clusters diagnose untuk mengumpulkan log sistem, Spark, Hadoop, dan Dataproc, file konfigurasi cluster, dan informasi lainnya yang dapat Anda periksa atau bagikan kepada dukungan Google untuk membantu Anda memecahkan masalah cluster atau tugas Dataproc. Perintah tersebut mengupload data dan ringkasan diagnostik ke bucket staging Dataproc di Cloud Storage.

Jalankan perintah cluster diagnosis Google Cloud CLI

Jalankan perintah gcloud dataproc clusters diagnose untuk membuat dan menampilkan lokasi file arsip diagnostik.

gcloud dataproc clusters diagnose CLUSTER_NAME \
    --region=REGION \
    OPTIONAL FLAGS ...

Catatan:

  • CLUSTER_NAME: Nama cluster yang akan didiagnosis.
  • REGION: Region cluster, misalnya, us-central1.
  • OPTIONAL FLAGS:

    • --job-ids: Anda dapat menandai flag ini untuk mengumpulkan driver tugas, peristiwa Spark, aplikasi YARN, dan log output Spark Lense, selain file log default, untuk daftar ID tugas yang dipisahkan koma yang ditentukan. Untuk tugas MapReduce, hanya log aplikasi YARN yang dikumpulkan. Agregasi log YARN harus diaktifkan untuk pengumpulan log aplikasi YARN.

    • --yarn-application-ids: Anda dapat menandai flag ini untuk mengumpulkan driver tugas, peristiwa Spark, aplikasi YARN, dan log output Spark Lense selain file log default, untuk daftar ID aplikasi YARN yang dipisahkan koma. Agregasi log YARN harus diaktifkan untuk pengumpulan log aplikasi YARN.

    • --start-time dengan --end-time: Gunakan kedua tanda untuk menentukan rentang waktu, dalam format %Y-%m-%dT%H:%M:%S.%fZ, untuk pengumpulan data diagnostik. Menentukan rentang waktu juga mengaktifkan pengumpulan log penskalaan otomatis Dataproc selama rentang waktu tersebut (secara default, log penskalaan otomatis Dataproc tidak dikumpulkan dalam data diagnostik).

    • --tarball-access=GOOGLE_DATAPROC_DIAGNOSE Gunakan flag ini untuk mengirimkan atau memberikan akses ke file tar diagnostik ke tim dukungan Google Cloud. Selain itu, berikan informasi kepada tim dukungan Google Cloud sebagai berikut:

      • Jalur Cloud Storage file tar diagnostik, atau
      • Bucket konfigurasi cluster, UUID cluster, dan ID operasi perintah diagnosis

Jalankan skrip diagnostik dari node master cluster (jika perlu)

Perintah gcloud dataproc clusters diagnose dapat gagal atau habis waktu tunggunya jika cluster dalam status error dan tidak dapat menerima tugas diagnosis dari server Dataproc. Sebagai alternatif untuk menjalankan perintah diagnosis, Anda dapat terhubung ke node master cluster menggunakan SSH, mendownload skrip diagnostik, lalu menjalankan skrip secara lokal di node master.

gcloud compute ssh HOSTNAME
gsutil cp gs://dataproc-diagnostic-scripts/diagnostic-script.sh .
sudo bash diagnostic-script.sh

File tar arsip diagnostik disimpan di direktori lokal. Output perintah mencantumkan lokasi file tar beserta petunjuk cara mengupload file tar ke bucket Cloud Storage.

Cara membagikan data diagnostik

Untuk membagikan arsip:

  • Mendownload arsip dari Cloud Storage, lalu membagikan arsip yang didownload, atau
  • Ubah izin pada arsip untuk memungkinkan pengguna atau project Google Cloud lainnya mengakses file tersebut.

Contoh: Perintah berikut menambahkan izin baca ke arsip dalam test-project:

gsutil -m acl ch -g test-project:R PATH_TO_ARCHIVE}

Konten arsip dan ringkasan diagnostik

Perintah diagnose menghasilkan ringkasan diagnostik dan file tar arsip yang berisi file konfigurasi cluster, log, serta file dan informasi lainnya. File tar arsip ditulis ke bucket staging Dataproc di Cloud Storage.

Ringkasan diagnostik: Skrip diagnostik menganalisis data yang dikumpulkan, dan menghasilkan summary.txt di root arsip diagnostik. Ringkasan ini memberikan ringkasan status cluster, termasuk YARN, HDFS, disk, dan status jaringan, serta menyertakan peringatan untuk memberi tahu Anda tentang potensi masalah.

File tar arsip: Bagian berikut mencantumkan file dan informasi yang terdapat dalam file tar arsip diagnostik.

Informasi daemon dan layanan

Perintah dieksekusi Lokasi dalam arsip
yarn node -list -all /system/yarn-nodes.log
hdfs dfsadmin -report -live -decommissioning /system/hdfs-nodes.log
hdfs dfs -du -h /system/hdfs-du.log
service --status-all /system/service.log
systemctl --type service /system/systemd-services.log
curl "http://${HOSTNAME}:8088/jmx" /metrics/resource_manager_jmx
curl "http://${HOSTNAME}:8088/ws/v1/cluster/apps" /metrics/yarn_app_info
curl "http://${HOSTNAME}:8088/ws/v1/cluster/nodes" /metrics/yarn_node_info
curl "http://${HOSTNAME}:9870/jmx" /metrics/namenode_jmx

Informasi JVM

Perintah dieksekusi Lokasi dalam arsip
jstack -l "${DATAPROC_AGENT_PID}" jstack/agent_${DATAPROC_AGENT_PID}.jstack
jstack -l "${PRESTO_PID}" jstack/agent_${PRESTO_PID}.jstack
jstack -l "${JOB_DRIVER_PID}" jstack/driver_${JOB_DRIVER_PID}.jstack
jinfo "${DATAPROC_AGENT_PID}" jinfo/agent_${DATAPROC_AGENT_PID}.jstack
jinfo "${PRESTO_PID}" jinfo/agent_${PRESTO_PID}.jstack
jinfo "${JOB_DRIVER_PID}" jinfo/agent_${JOB_DRIVER_PID}.jstack

Informasi sistem Linux

Perintah dieksekusi Lokasi dalam arsip
df -h /system/df.log
ps aux /system/ps.log
free -m /system/free.log
netstat -anp /system/netstat.log
sysctl -a /system/sysctl.log
uptime /system/uptime.log
cat /proc/sys/fs/file-nr /system/fs-file-nr.log
ping -c 1 /system/cluster-ping.log

File log

Item yang disertakan Lokasi dalam arsip
Semua log di /var/log dengan awalan berikut dalam nama filenya:
cloud-sql-proxy
dataproc
druid
gcdp
google
hadoop
hdfs
hive
knox
presto
spark
syslog
yarn
zookeeper
File ditempatkan di folder logs arsip, dan menyimpan nama file aslinya.
Log startup node Dataproc untuk setiap node (master dan worker) di cluster Anda. File ditempatkan di folder node_startup arsip, yang berisi subfolder terpisah untuk setiap mesin dalam cluster.
Log gateway komponen dari journalctl -u google-dataproc-component-gateway /logs/google-dataproc-component-gateway.log

File konfigurasi

Item yang disertakan Lokasi dalam arsip
Metadata VM /conf/dataproc/metadata
Variabel lingkungan di /etc/environment /conf/dataproc/environment
Properti Dataproc /conf/dataproc/dataproc.properties
Semua file dalam /etc/google-dataproc/ /conf/dataproc/
Semua file dalam /etc/hadoop/conf/ /conf/hadoop/
Semua file dalam /etc/hive/conf/ /conf/hive/
Semua file dalam /etc/hive-hcatalog/conf/ /conf/hive-hcatalog/
Semua file dalam /etc/knox/conf/ /conf/knox/
Semua file dalam /etc/pig/conf/ /conf/pig/
Semua file dalam /etc/presto/conf/ /conf/presto/
Semua file dalam /etc/spark/conf/ /conf/spark/
Semua file dalam /etc/tez/conf/ /conf/tez/
Semua file dalam /etc/zookeeper/conf/ /conf/zookeeper/