Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWSSupport-AnalyzeEMRLogs
Deskripsi
Runbook ini membantu mengidentifikasi kesalahan saat menjalankan pekerjaan di cluster Amazon EMR. Runbook menganalisis daftar log yang ditentukan pada sistem file dan mencari daftar kata kunci yang telah ditentukan sebelumnya. Entri log ini digunakan untuk membuat CloudWatch acara Amazon Events sehingga Anda dapat mengambil tindakan yang diperlukan berdasarkan peristiwa tersebut. Secara opsional, runbook menerbitkan entri log ke grup CloudWatch log Amazon Logs pilihan Anda. Runbook ini saat ini mencari kesalahan dan pola berikut dalam file log:
-
container_out_of_memory — Kontainer YARN kehabisan memori, menjalankan pekerjaan mungkin gagal. -
yarn_nodemanager_health: Node CORE atau TASK kehabisan ruang disk dan tidak akan dapat menjalankan tugas. -
node_state_change: Node CORE atau TASK tidak dapat dijangkau oleh node MASTER. -
step_failure: Langkah EMR gagal. -
no_core_nodes_running: Tidak ada node CORE yang sedang berjalan, cluster tidak sehat. -
hdfs_missing_blocks: Ada blok HDFS yang hilang yang dapat menyebabkan hilangnya data. -
hdfs_high_util: Pemanfaatan HDFS tinggi, yang dapat memengaruhi pekerjaan dan kesehatan cluster. -
instance_controller_restart: proses telah dimulai ulang. Instance-Controller Proses ini sangat penting untuk kesehatan cluster. -
instance_controller_restart_legacy: proses telah dimulai ulang. Instance-Controller Proses ini sangat penting untuk kesehatan cluster. -
high_load: Rata-rata Beban Tinggi terdeteksi, dapat memengaruhi pelaporan kesehatan node atau mengakibatkan batas waktu atau perlambatan. -
yarn_node_blacklists: Node CORE atau TASK telah masuk daftar hitam oleh YARN dari tugas yang sedang berjalan. -
yarn_node_lost: Node CORE atau TASK telah ditandai sebagai LOST oleh YARN, kemungkinan masalah konektivitas.
Instans yang terkait dengan ClusterID yang Anda tentukan harus dikelola oleh AWS Systems Manager. Anda dapat menjalankan otomatisasi ini sekali, menjadwalkan otomatisasi untuk berjalan pada interval waktu tertentu, atau menghapus jadwal yang dibuat sebelumnya oleh otomatisasi. Runbook ini mendukung rilis Amazon EMR versi 5.20 hingga 6.30.
Jalankan Otomatisasi ini (konsol)
Jenis dokumen
Otomatisasi
Pemilik
Amazon
Platform
Linux,macOS, Windows
Parameter
-
AutomationAssumeRole
Tipe: String
Deskripsi: (Opsional) Nama Sumber Daya Amazon (ARN) dari peran AWS Identity and Access Management (IAM) yang memungkinkan Otomasi Manajer Sistem untuk melakukan tindakan atas nama Anda. Jika tidak ada peran yang ditentukan, Sistem Manajer Otomasi menggunakan izin pengguna yang memulai runbook ini.
-
ID Cluster
Tipe: String
Deskripsi: (Diperlukan) ID cluster yang log nodenya ingin Anda analisis.
-
Operasi
Tipe: String
Nilai yang valid: Jalankan Sekali | Jadwal | Hapus Jadwal
Deskripsi: (Diperlukan) Operasi untuk melakukan pada cluster.
-
IntervalTime
Tipe: String
Nilai yang valid: 5 menit | 10 menit | 15 menit
Deskripsi: (Opsional) Durasi waktu antara menjalankan otomatisasi. Parameter ini hanya berlaku jika Anda menentukan
ScheduleuntukOperationparameter. -
LogToCloudWatchLogs
Tipe: String
Nilai yang valid: ya | tidak
Deskripsi: (Opsional) Jika Anda menentukan
yesnilai parameter ini, otomatisasi akan membuat grup CloudWatch log log dengan nama yang ditentukan dalamCloudWatchLogGroupparameter untuk menyimpan entri log yang cocok. -
CloudWatchLogGroup
Tipe: String
Deskripsi: (Opsional) Nama grup CloudWatch log log tempat Anda ingin menyimpan entri log yang cocok. Parameter ini hanya berlaku jika Anda menentukan
yesuntukLogToCloudWatchLogsparameter. -
CreateLogInsightsDashboard
Tipe: String
Nilai yang valid: ya | tidak
Deskripsi: (Opsional) Jika Anda menentukan
yes, CloudWatch dasbor dibuat jika belum ada. Parameter ini hanya berlaku jika Anda menentukanyesuntukLogToCloudWatchLogsparameter. -
CreateMetricFilters
Tipe: String
Nilai yang valid: ya | tidak
Deskripsi: (Opsional)
yesTentukan apakah Anda ingin membuat filter metrik untuk grup CloudWatch log log. Parameter ini hanya berlaku jika Anda menentukanyesuntukLogToCloudWatchLogsparameter.
Izin IAM yang diperlukan
AutomationAssumeRoleParameter memerlukan tindakan berikut untuk menggunakan runbook dengan sukses.
-
ssm:StartAutomationExecution -
ssm:GetDocument -
ssm:ListDocuments -
ssm:DescribeAutomationExecutions -
ssm:DescribeAutomationStepExecutions -
ssm:GetAutomationExecution -
ssm:DescribeInstanceInformation -
ssm:ListCommandInvocations -
ssm:ListCommands -
ssm:SendCommand -
iam:CreateRole -
iam:DeleteRole -
iam:GetRolePolicy -
iam:PutRolePolicy -
iam:DeleteRolePolicy -
iam:passrole -
cloudformation:DescribeStacks -
cloudformation:DeleteStack -
cloudformation:CreateStack -
events:DeleteRule -
events:RemoveTargets -
events:PutTargets -
events:PutRule -
events:DescribeRule -
logs:DescribeLogGroups -
logs:CreateLogGroup -
logs:PutMetricFilter -
cloudwatch:PutDashboard -
elasticmapreduce:ListInstances -
elasticmapreduce:DescribeCluster
Langkah-langkah Dokumen
-
aws:executeAwsApi- Mengumpulkan informasi tentang cluster Amazon EMR yang ditentukan dalam parameter.ClusterID -
aws:branch- Cabang berdasarkan masukan.-
Jika operasi yang disediakan adalah
Run OnceatauSchedule:-
aws:assertAwsResourceProperty- Memverifikasi cluster tersedia. -
aws:executeAwsApi- Mengumpulkan ID dari semua instance yang berjalan di cluster. -
aws:assertAwsResourceProperty- Memverifikasi Agen SSM berjalan pada semua instance di cluster. -
aws:branch- Cabang berdasarkan apakah Anda menentukan untuk menjalankan otomatisasi sekali atau sesuai jadwal.-
Jika operasi yang disediakan adalah
Run Once:-
aws:branch- Cabang berdasarkan nilai yang ditentukan dalamLogToCloudWatchLogsparameter.-
Jika
LogToCloudWatchLogsnilainya adalahyes:-
aws:executeScript- Memeriksa CloudWatch apakah grup log log dengan nama yang ditentukan dalam parameterCloudWatchLogGroupsudah ada. Jika tidak, grup dibuat dengan nama yang ditentukan. -
aws:branch- Cabang berdasarkan nilai yang ditentukan dalamCreateMetricFiltersparameter.-
Jika
CreateMetricFiltersnilainya adalahyes:-
aws:executeAwsApi- 12 langkah dijalankan untuk setiap filter metrik -
aws:branch- Cabang berdasarkan nilai yang ditentukan dalamCreateLogInsightsDashboardparameter.-
Jika
CreateLogInsightsDashboardnilainya adalahyes:-
aws:executeAwsApi- Membuat CloudWatch dasbor dengan nama yang sama yang ditentukan dalamCloudWatchLogGroupparameter, jika belum ada.
-
-
Jika
CreateLogInsightsDashboardnilainya adalahno:-
aws:runCommand- Menjalankan skrip shell untuk menemukan pola log pada setiap instance di cluster.
-
-
-
-
Jika
CreateMetricFiltersnilainya adalahno:-
aws:branch- Cabang berdasarkan nilai yang ditentukan dalamCreateLogInsightsDashboardparameter.-
Jika
CreateLogInsightsDashboardnilainya adalahyes:-
aws:executeAwsApi- Membuat CloudWatch dasbor dengan nama yang sama yang ditentukan dalamCloudWatchLogGroupparameter, jika belum ada.
-
-
Jika
CreateLogInsightsDashboardnilainya adalahno:-
aws:runCommand- Menjalankan skrip shell untuk menemukan pola log pada setiap instance di cluster.
-
-
-
-
-
-
Jika
LogToCloudWatchLogsnilainya adalahno:-
aws:executeAwsApi- Menjalankan skrip shell untuk menemukan pola log pada setiap instance di cluster.
-
-
-
-
Jika operasi yang disediakan adalah
Schedule:-
aws:createStack- Membuat EventBridge acara Amazon yang menargetkan runbook ini.
-
-
-
-
Jika operasi yang disediakan adalah
Remove Schedule:-
aws:executeAwsApi- Memverifikasi jadwal yang ada untuk cluster. -
aws:deleteStack- Menghapus jadwal.
-
-
Keluaran
GetClusterInformation.ClusterName
GetClusterInformation.ClusterState
ListingClusterInstances.InstanceIDs
CreatingScheduleCloudFormationStack.StackStatus
RemovingScheduleByDeletingScheduleCloudFormationStack.StackStatus
CheckIfLogGroupExists.output
FindLogPatternOnEMRNode.CommandId