Anda dapat mengumpulkan data diagnostik berikut untuk membantu Anda memecahkan masalah cluster dan tugas:
- Data diagnostik titik pemeriksaan: Jika diaktifkan saat pembuatan cluster, Dataproc akan mengumpulkan data diagnostik titik pemeriksaan selama siklus proses cluster.
- Data diagnostik snapshot: Anda dapat mengumpulkan snapshot data diagnostik cluster satu kali.
Pengumpulan data diagnostik checkpoint
Jika diaktifkan saat pembuatan cluster, Dataproc mengumpulkan data diagnostik titik pemeriksaan selama pembuatan cluster, update cluster, dan operasi tugas Dataproc.
Lokasi data checkpoint
Dataproc menyimpan data diagnostik titik pemeriksaan
di bucket sementara kluster
di Cloud Storage dalam folder berikut (checkpoint diagnostic data folder
):
gs://TEMP_BUCKET/google-cloud-dataproc-diagnostic/CLUSTER_UUID
Bucket sementara cluster default memiliki periode retensi TTL selama 90 hari. Data akan dihapus di akhir periode retensi. Anda dapat menentukan bucket sementara cluster Anda sendiri dengan periode TTL yang berbeda saat Anda membuat cluster.
Data diagnostik checkpoint
Log detail node cluster: Dataproc menjalankan perintah berikut untuk mengumpulkan dan menulis informasi YARN dan HDFS ke lokasi berikut di folder data diagnostik titik pemeriksaan di Cloud Storage.
Perintah dieksekusi Lokasi di folder diagnostik yarn node -list -all
.../nodes/timestamp/yarn-nodes.log
hdfs dfsadmin -report -live -decommissioning
.../nodes/timestamp/hdfs-nodes.log
Detail Tugas: Dataproc menyimpan informasi tugas MapReduce dan log tugas Spark untuk tugas yang menggunakan Dataproc Jobs API. Data tugas ini dikumpulkan untuk setiap tugas MapReduce dan Spark yang dikirimkan.
- MapReduce
job.xml
: File yang berisi setelan konfigurasi tugas, disimpan di.../jobs/JOB_UUID/mapreduce/job.xml
. - Log peristiwa Spark: Detail eksekusi tugas yang berguna untuk proses debug, disimpan di
.../jobs/JOB_UUID/spark/application-id
.
- MapReduce
Informasi sistem Linux: Dataproc menjalankan perintah berikut untuk mengumpulkan dan menyimpan informasi sistem di lokasi berikut dalam folder data diagnostik titik pemeriksaan di Cloud Storage.
Perintah Lokasi di folder diagnostik sysctl -a
.../system/sysctl.log
cat /proc/sys/fs/file-nr
.../system/fs-file-nr.log
ping -c 1
.../system/cluster-ping.log
cp /etc/hosts
.../system/hosts_entries.log
cp /etc/resolv.conf
.../system/resolv.conf
File konfigurasi: Dataproc menyimpan file konfigurasi berikut di lokasi berikut dalam folder data diagnostik titik pemeriksaan di Cloud Storage.
Item yang disertakan Lokasi di folder diagnostik Properti Dataproc .../configs/dataproc/dataproc.properties
Semua file di
`/etc/google-dataproc/`.../configs/dataproc/
Semua file di
`/etc/hadoop/conf/`.../configs/hadoop/
Semua file di `/etc/hive/conf/` .../configs/hive/
Semua file di
`/etc/hive-hcatalog/conf/`.../configs/hive-hcatalog/
Semua file di `/etc/knox/conf/` .../configs/knox/
Semua file di `/etc/pig/conf/` .../configs/pig/
Semua file di
`/etc/presto/conf/`.../configs/presto/
Semua file di
`/etc/spark/conf/`.../configs/spark/
Semua file di `/etc/tez/conf/` .../configs/tez/
Semua file di
`/etc/zookeeper/conf/`.../configs/zookeeper/
Mengaktifkan dan membagikan data diagnostik titik pemeriksaan
Saat membuat cluster, Anda dapat mengaktifkan dan membagikan data diagnostik checkpoint cluster kepada Google Cloud dukungan:
Mengaktifkan pengumpulan data titik pemeriksaan
Tambahkan
dataproc:diagnostic.capture.enabled=true
properti cluster
saat Anda membuat cluster Dataproc untuk mengaktifkan
pengumpulan data diagnostik titik pemeriksaan di cluster.
Membagikan data titik pemeriksaan
Jika Anda mengaktifkan akses tingkat bucket seragam di bucket sementara cluster, semua konten bucket sementara, termasuk data diagnostik titik pemeriksaan yang dikumpulkan dan data sementara, seperti file histori tugas MapReduce, log YARN gabungan, dan log peristiwa Spark, akan dibagikan kepadaGoogle Cloud dukungan.
Jika kontrol akses tingkat objek diaktifkan di bucket sementara cluster, hanya data diagnostik checkpoint yang dikumpulkan (data di folder data diagnostik checkpoint di Cloud Storage) yang dibagikan.
Anda dapat mengaktifkan berbagi data diagnostik titik pemeriksaan dengan dukunganGoogle Cloud saat Anda membuat cluster atau setelah pembuatan cluster:
Mengaktifkan berbagi saat pembuatan cluster: Tambahkan properti berikut saat Anda membuat cluster:
dataproc:diagnostic.capture.access=GOOGLE_DATAPROC_DIAGNOSE
Mengaktifkan berbagi setelah pembuatan cluster: Anda dapat mengaktifkan berbagi data checkpoint dengan dukunganGoogle Cloud setelah pembuatan cluster dengan cara berikut:
Berikan akses baca ke data titik pemeriksaan untuk akun layanan yang digunakan oleh dukungan Google Cloud .
Jika akses level bucket yang seragam diaktifkan di bucket sementara, tambahkan pengikatan kebijakan IAM:
gcloud storage buckets add-iam-policy-binding gs://TEMP_BUCKET \ --member=serviceAccount:cloud-diagnose@cloud-dataproc. \ --role=roles/storage.objectViewer
Jika kontrol akses level objek diaktifkan di bucket sementara, jalankan perintah berikut untuk membagikan data diagnostik checkpoint:
gcloud storage objects update \ gs://TEMP_BUCKET/google-cloud-dataproc-diagnostic/CLUSTER_UUID \ --add-acl-grant=entity=user-cloud-diagnose@cloud-dataproc.,role=READER --recursive
Pengumpulan data diagnostik snapshot
Anda dapat menjalankan perintah
gcloud dataproc clusters diagnose
berikut untuk mengumpulkan snapshot data diagnostik dari
cluster yang sedang berjalan. Data ditulis sebagai file arsip (tar) ke bucket penyiapan Dataproc di Cloud Storage.
gcloud dataproc clusters diagnose CLUSTER_NAME \ --region=REGION \ --tarball-access=GOOGLE_DATAPROC_DIAGNOSE
Catatan:
- CLUSTER_NAME: Nama cluster yang akan didiagnosis.
- REGION: Region cluster, misalnya,
us-central1
. --tarball-access
=GOOGLE_DATAPROC_DIAGNOSE
Flag ini memberikan akses ke file tar diagnostik untuk Google Cloud dukungan. Berikan Google Cloud dukungan dengan jalur Cloud Storage file tar diagnostik.Additional flags:
--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 memungkinkan pengumpulan log penskalaan otomatis Dataproc selama rentang waktu tersebut (secara default, log penskalaan otomatis Dataproc tidak dikumpulkan dalam data snapshot diagnostik).Anda dapat menggunakan salah satu atau kedua tanda berikut untuk mengumpulkan log output driver tugas, peristiwa Spark, aplikasi YARN, dan Sparklens tertentu:
--job-ids
: Daftar ID tugas yang dipisahkan koma--yarn-application-ids
: Daftar ID aplikasi YARN yang dipisahkan koma- Agregasi log YARN harus diaktifkan (
yarn.log-aggregation-enable=true
) untuk pengumpulan log aplikasi YARN. - Untuk tugas MapReduce, hanya log aplikasi YARN yang dikumpulkan.
- Agregasi log YARN harus diaktifkan (
Opsional: Jalankan skrip diagnostik
Perintah gcloud dataproc clusters diagnose
dapat gagal atau waktu tunggu habis jika
cluster dalam status error dan tidak dapat menerima tugas diagnostik dari
server Dataproc. Sebagai alternatif untuk menjalankan perintah diagnose, Anda
dapat menggunakan SSH untuk terhubung ke cluster
lalu menjalankan skrip secara lokal di node master.
gcloud compute ssh HOSTNAME
gcloud storage 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 dengan petunjuk tentang cara mengupload file tar ke bucket Cloud Storage.
Data ringkasan diagnostik
Data snapshot cluster mencakup ringkasan diagnostik dan beberapa bagian arsip.
Ringkasan diagnostik: File arsip menyertakan summary.txt
yang berada di root arsip. Laporan ini memberikan ringkasan status cluster, termasuk status YARN, HDFS, disk, dan jaringan, serta menyertakan peringatan untuk memberi tahu Anda tentang potensi masalah.
Bagian arsip: File arsip mencakup informasi berikut yang ditulis ke lokasi file arsip berikut.
Informasi daemon dan layanan
Perintah dijalankan Lokasi di 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 dijalankan Lokasi di arsip jstack -l "${DATAPROC_AGENTPID}"
jstack/agent${DATAPROC_AGENT_PID}.jstack
jstack -l "${PRESTOPID}"
jstack/agent${PRESTO_PID}.jstack
jstack -l "${JOB_DRIVERPID}"
jstack/driver${JOB_DRIVER_PID}.jstack
jinfo "${DATAPROC_AGENTPID}"
jinfo/agent${DATAPROC_AGENT_PID}.jstack
jinfo "${PRESTOPID}"
jinfo/agent${PRESTO_PID}.jstack
jinfo "${JOB_DRIVERPID}"
jinfo/agent${JOB_DRIVER_PID}.jstack
Informasi sistem Linux
Perintah dijalankan Lokasi di 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
Item disertakan Lokasi di 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 arsip logs
, dan mempertahankan nama file aslinya.Log startup node Dataproc untuk setiap node (master dan pekerja) di cluster Anda. File ditempatkan di folder arsip node_startup
, yang berisi subfolder terpisah untuk setiap mesin di cluster.Log gateway komponen dari journalctl -u google-dataproc-component-gateway
/logs/google-dataproc-component-gateway.log
File konfigurasi
Item yang disertakan Lokasi di arsip Metadata VM /conf/dataproc/metadata
Variabel lingkungan di /etc/environment
/conf/dataproc/environment
Properti Dataproc /conf/dataproc/dataproc.properties
Semua file di /etc/google-dataproc/
/conf/dataproc/
Semua file di /etc/hadoop/conf/
/conf/hadoop/
Semua file di /etc/hive/conf/
/conf/hive/
Semua file di /etc/hive-hcatalog/conf/
/conf/hive-hcatalog/
Semua file di /etc/knox/conf/
/conf/knox/
Semua file di /etc/pig/conf/
/conf/pig/
Semua file di /etc/presto/conf/
/conf/presto/
Semua file di /etc/spark/conf/
/conf/spark/
Semua file di /etc/tez/conf/
/conf/tez/
Semua file di /etc/zookeeper/conf/
/conf/zookeeper/
Bagikan file arsip
Anda dapat membagikan file arsip kepada Google Cloud dukungan atau pengguna untuk mendapatkan bantuan dalam memecahkan masalah cluster atau tugas.
Untuk membagikan file arsip:
- Salin file arsip dari Cloud Storage, lalu bagikan arsip yang didownload, atau
Ubah izin pada arsip untuk mengizinkan pengguna atau project lain mengakses file. Google Cloud
Contoh: Perintah berikut memberikan izin baca ke arsip kepada pemilik project
test-project
:gcloud storage objects update PATH_TO_ARCHIVE} --add-acl-grant=entity=project-owners-test-project,role=READER