

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kesalahan VPC selama operasi klaster Amazon EMR
<a name="emr-troubleshoot-error-vpc"></a>

Kesalahan berikut umum terjadi untuk konfigurasi VPC di Amazon EMR.

**Topics**
+ [Konfigurasi subnet tidak valid](#emr-troubleshoot-error-gateway)
+ [Set Opsi DHCP Hilang](#emr-troubleshoot-error-dhcp)
+ [Kesalahan izin](#emr-troubleshoot-error-denied)
+ [Kesalahan yang mengakibatkan `START_FAILED`](#emr-troubleshoot-error-vpc-dns)
+ [Cluster `Terminated with errors` dan NameNode gagal memulai](#emr-troubleshoot-namenode-dns)

## Konfigurasi subnet tidak valid
<a name="emr-troubleshoot-error-gateway"></a>

 Pada halaman **Detail Klaster**, di bidang **Status**, Anda melihat kesalahan yang mirip dengan yang berikut ini:

`The subnet configuration was invalid: Cannot find route to InternetGateway in main RouteTable {{rtb-id}} for vpc {{vpc-id}}.`

Untuk mengatasi masalah ini, Anda harus membuat Gateway Internet dan melampirkannya ke VPC Anda. Untuk informasi selengkapnya, lihat [Menambahkan gateway internet ke VPC Anda](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Internet_Gateway.html).

Atau, verifikasi bahwa Anda telah mengkonfigurasi VPC Anda dengan **Aktifkan resolusi DNS** dan **Aktifkan dukungan nama host DNS** diaktifkan. Untuk informasi selengkapnya, lihat [Menggunakan DNS dengan VPC Anda](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-dns.html). 

## Set Opsi DHCP Hilang
<a name="emr-troubleshoot-error-dhcp"></a>

Anda melihat kegagalan langkah dalam log sistem klaster (syslog) dengan kesalahan yang mirip dengan yang berikut ini:

` ERROR org.apache.hadoop.security.UserGroupInformation (main): PriviledgedActionException as:hadoop (auth:SIMPLE) cause:java.io.IOException: org.apache.hadoop.yarn.exceptions.ApplicationNotFoundException: Application with id '{{application_id}}' doesn't exist in RM. `

atau 

`ERROR org.apache.hadoop.streaming.StreamJob (main): Error Launching job : org.apache.hadoop.yarn.exceptions.ApplicationNotFoundException: Application with id '{{application_id}}' doesn't exist in RM.`

Untuk menyelesaikan masalah ini, Anda harus mengonfigurasi VPC yang menyertakan Set Opsi DHCP dengan parameter yang ditetapkan ke nilai berikut: 

**catatan**  
Jika Anda menggunakan wilayah AWS GovCloud (AS-barat), tetapkan nama domain menjadi **us-gov-west-1.compute.internal** bukan nilai yang digunakan dalam contoh berikut.
+ **nama domain** = **ec2.internal**

  Gunakan **ec2.internal** jika wilayah Anda adalah US East (N. Virginia). Untuk wilayah lain, gunakan {{region-name}}**.compute.internal**. Misalnya di us-west-2, gunakan **domain-name**=**us-west-2.compute.internal**.
+ **domain-name-servers** = **AmazonProvidedDNS**

Untuk informasi selengkapnya, lihat [Set Opsi DHCP](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html).

## Kesalahan izin
<a name="emr-troubleshoot-error-denied"></a>

Kegagalan dalam log `stderr` untuk langkah menunjukkan bahwa sumber daya Amazon S3 tidak memiliki izin yang sesuai. Ini adalah kesalahan 403 dan kesalahannya terlihat seperti:

```
Exception in thread "main" com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: {{REQUEST_ID}}
```

Jika ActionOnFailure disetel ke`TERMINATE_JOB_FLOW`, maka ini akan mengakibatkan cluster berakhir dengan status,`SHUTDOWN_COMPLETED_WITH_ERRORS`.

Beberapa cara untuk memecahkan masalah ini meliputi:
+ Jika Anda menggunakan kebijakan bucket Amazon S3 dalam VPC, pastikan untuk memberikan akses ke seluruh bucket dengan membuat VPC endpoint dan memilih **Izinkan semua** di bawah opsi Kebijakan saat membuat titik akhir. 
+ Pastikan bahwa setiap kebijakan yang terkait dengan sumber daya S3 menyertakan VPC tempat Anda meluncurkan klaster.
+ Coba jalankan perintah berikut ini dari klaster Anda untuk memverifikasi Anda dapat mengakses bucket

  ```
  hadoop fs -copyToLocal s3://{{path-to-bucket}} /tmp/
  ```
+ Anda dapat mengetahui informasi debugging yang lebih spesifik dengan mengatur parameter `log4j.logger.org.apache.http.wire` ke `DEBUG` dalam file `/home/hadoop/conf/log4j.properties` pada klaster. Anda dapat memeriksa berkas log `stderr` setelah mencoba untuk mengakses bucket dari klaster. Berkas log tersebut akan memberikan informasi lebih detail:

  ```
  Access denied for getting the prefix for bucket - us-west-2.elasticmapreduce with path samples/wordcount/input/
  15/03/25 23:46:20 DEBUG http.wire: >> "GET /?prefix=samples%2Fwordcount%2Finput%2F&delimiter=%2F&max-keys=1 HTTP/1.1[\r][\n]"
  15/03/25 23:46:20 DEBUG http.wire: >> "Host: us-west-2.elasticmapreduce.s3.amazonaws.com[\r][\n]"
  ```

## Kesalahan yang mengakibatkan `START_FAILED`
<a name="emr-troubleshoot-error-vpc-dns"></a>

Sebelum AMI 3.7.0, VPCs di mana nama host ditentukan, Amazon EMR memetakan nama host internal subnet dengan alamat domain khusus sebagai berikut:. `ip-{{X.X.X.X.customdomain.com}}.tld` Sebagai contoh, jika nama host itu `ip-10.0.0.10` dan VPC memiliki opsi nama domain yang diatur ke customdomain.com, nama host hasil yang dipetakan oleh Amazon EMR akan `ip-10.0.1.0.customdomain.com`. Sebuah entri ditambahkan dalam `/etc/hosts` untuk menyelesaikan nama host menjadi 10.0.0.10. Perilaku ini diubah dengan AMI 3.7.0 dan sekarang Amazon EMR menghormati konfigurasi DHCP VPC sepenuhnya. Sebelumnya, pelanggan juga dapat menggunakan tindakan bootstrap untuk menentukan pemetaan nama host.

Jika Anda ingin mempertahankan perilaku ini, Anda harus memberikan pengaturan DNS dan resolusi penerusan yang Anda perlukan untuk domain kustom.

## Cluster `Terminated with errors` dan NameNode gagal memulai
<a name="emr-troubleshoot-namenode-dns"></a>

Ketika meluncurkan klaster EMR di VPC yang menggunakan nama domain DNS kustom, klaster Anda mungkin gagal dengan pesan kesalahan berikut di konsol:

```
Terminated with errors  On the master instance({{instance-id}}), bootstrap action 1 returned a  non-zero return code
```

Kegagalan adalah akibat dari NameNode tidak bisa memulai. Ini akan menghasilkan kesalahan berikut yang ditemukan di NameNode log, yang URI Amazon S3-nya berbentuk:: `s3://{{amzn-s3-demo-bucket}}/{{logs}}/{{cluster-id}}/daemons/{{master instance-id}}/hadoop-hadoop-namenode-{{master node hostname}}.log.gz`

```
2015-07-23 20:17:06,266 WARN
      org.apache.hadoop.hdfs.server.namenode.FSNamesystem (main): Encountered  exception
      loading fsimage  java.io.IOException: NameNode is not formatted.      
      at
      org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:212)
           at
      org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1020)
           at
      org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:739)
           at
      org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:537)
           at
      org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:596)      
      at  org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:765)
           at
      org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:749)      
      at
      org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1441)
           at
      org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1507)
```

Hal ini disebabkan potensi masalah ketika instans EC2 dapat memiliki beberapa set nama domain yang memenuhi syarat saat meluncurkan klaster EMR di VPC, yang menggunakan server DNS yang disediakan oleh AWS dan server DNS kustom yang disediakan pengguna. Jika server DNS yang disediakan pengguna tidak menyediakan catatan pointer (PTR) untuk setiap catatan A yang digunakan untuk menunjuk simpul dalam klaster EMR, klaster akan gagal memulai ketika dikonfigurasi dengan cara ini. Solusinya adalah dengan menambahkan 1 catatan PTR untuk setiap catatan A yang dibuat ketika instans EC2 diluncurkan di salah satu subnet di VPC.