Dataproc mengumpulkan data diagnostik cluster berikut untuk membantu Anda memecahkan masalah cluster dan tugas:
- Data checkpoint: Jika diaktifkan, Dataproc akan mengumpulkan dan memperbarui data diagnostik di sepanjang siklus proses cluster.
- Data snapshot: Anda dapat mengumpulkan snapshot data diagnostik cluster dari cluster yang sedang berjalan.
Data checkpoint
Saat fitur data checkpoint diaktifkan, Dataproc akan mengumpulkan
data diagnostik
selama pembuatan cluster,
update cluster,
dan operasi Jobs API
Dataproc. Dataproc menyimpan data di cluster
temp bucket
di
Cloud Storage, yang memiliki periode retensi TTL 90 hari. Data akan dihapus
pada akhir periode retensi.
Aktifkan properti pengumpulan data: Anda dapat menyertakan properti cluster opsional berikut saat membuat cluster. Perubahan ini hanya memengaruhi pengumpulan data diagnostik checkpoint di cluster yang dibuat.
- Mengaktifkan pengumpulan data: Menetapkan properti
dataproc:diagnostic.capture.enabled=true
akan mengaktifkan pengumpulan data diagnostik checkpoint di cluster. - Bagikan data diagnostik: Menetapkan properti
dataproc:diagnostic.capture.access=GOOGLE_DATAPROC_DIAGNOSE
untuk membagikan data diagnostik checkpoint yang dikumpulkan dengan dukunganGoogle Cloud .- Setelah pembuatan cluster, Anda dapat membagikan data diagnostik
ke dukungan Google Cloud dengan memberikan akses baca ke data ke
akun layanan yang digunakan oleh dukungan Google Cloud , sebagai berikut:
gsutil -m acl ch -r -u \ cloud-diagnose@cloud-dataproc.iam.gserviceaccount.com:R \ gs://TEMP_BUCKET/google-cloud-dataproc-diagnostic/CLUSTER_UUID
- Setelah pembuatan cluster, Anda dapat membagikan data diagnostik
ke dukungan Google Cloud dengan memberikan akses baca ke data ke
akun layanan yang digunakan oleh dukungan Google Cloud , sebagai berikut:
Data diagnostik
Data diagnostik terdiri dari data berikut yang ditulis ke gs://TEMP_BUCKET/google-cloud-dataproc-diagnostic/CLUSTER_UUID/
di Cloud Storage. Lokasi ini disebut sebagai folder data diagnostik di bagian
ini.
Log detail node cluster: Dataproc menjalankan perintah berikut untuk mengumpulkan dan menulis informasi YARN dan HDFS ke lokasi berikut di folder data diagnostik 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 MR 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 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 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/
Data 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 staging 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
. OPTIONAL FLAGS:
Anda dapat menggunakan salah satu dari kedua flag berikut untuk mengumpulkan driver tugas, peristiwa Spark, aplikasi YARN, dan log output Sparklens tertentu. Catatan:
- Agregasi log YARN harus diaktifkan
(
yarn.log-aggregation-enable=true
) untuk pengumpulan log aplikasi YARN. Untuk tugas MapReduce, hanya log aplikasi YARN yang dikumpulkan.
--job-ids
: Daftar ID tugas yang dipisahkan koma.--yarn-application-ids
: Daftar ID aplikasi YARN yang dipisahkan koma.
- Agregasi log YARN harus diaktifkan
(
--start-time
dengan--end-time
: Gunakan kedua flag 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).--tarball-access
=GOOGLE_DATAPROC_DIAGNOSE
Gunakan tanda ini untuk mengirimkan atau memberikan akses ke file tar diagnostik ke Google Cloud dukungan. Berikan juga informasi ke Google Cloud dukungan sebagai berikut:- Jalur Cloud Storage file tar diagnostik atau
- Bucket konfigurasi cluster, UUID cluster, dan ID operasi perintah diagnose
Jika perlu, 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 diagnosis, Anda
dapat menggunakan SSH untuk terhubung ke node master
cluster, 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 dengan petunjuk 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. Halaman 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 menyertakan 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 logs
arsip, dan mempertahankan nama file aslinya.Log startup node Dataproc untuk setiap node (master dan pekerja) 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 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/
Membagikan file arsip
Anda dapat membagikan file arsip kepada Google Cloud dukungan atau pengguna untuk mendapatkan bantuan guna 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 Google Cloud lain mengakses file.
Contoh: Perintah berikut menambahkan izin baca ke arsip di
test-project
:gsutil -m acl ch -g test-project:R PATH_TO_ARCHIVE}