

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

# Menyesuaikan cluster dan aplikasi konfigurasi dengan versi AMI sebelumnya dari Amazon EMR
<a name="emr-3x-customizeappconfig"></a>

Rilis Amazon EMR versi 4.0.0 memperkenalkan metode sederhana untuk mengkonfigurasi aplikasi menggunakan klasifikasi konfigurasi. Untuk informasi selengkapnya, lihat [Konfigurasikan aplikasi](emr-configure-apps.md). Bila menggunakan versi AMI, Anda mengkonfigurasi aplikasi menggunakan tindakan bootstrap bersama dengan argumen yang Anda lulus. Misalnya, `configure-hadoop` dan `configure-daemons` tindakan bootstrap mengatur Hadoop dan Yarn—properti lingkungan khusus seperti `--namenode-heap-size`. Dalam versi yang lebih baru, ini dikonfigurasi menggunakan `hadoop-env` dan `yarn-env` klasifikasi konfigurasi. Untuk tindakan bootstrap yang melakukan konfigurasi umum, lihat [emr-bootstrap-actions repositori di Github](https://github.com/awslabs/emr-bootstrap-actions).

Tabel berikut memetakan tindakan bootstrap untuk klasifikasi konfigurasi dalam versi rilis Amazon EMR yang lebih baru.


**Hadoop**  

| Nama file aplikasi yang terdampak | Tindakan bootstrap versi AMI | Klasifikasi konfigurasi | 
| --- | --- | --- | 
| core-site.xml  | configure-hadoop -c  | core-site | 
| log4j.properties  | configure-hadoop -l  | hadoop-log4j | 
| hdfs-site.xml  | configure-hadoop -s  | hdfs-site  | 
| tidak berlaku | T/A | hdfs-encryption-zones | 
| mapred-site.xml  | configure-hadoop -m  | mapred-site | 
| yarn-site.xml  | configure-hadoop -y  | yarn-site | 
| httpfs-site.xml  | configure-hadoop -t  | httpfs-site | 
| capacity-scheduler.xml  | configure-hadoop -z  | capacity-scheduler | 
| yarn-env.sh  | configure-daemons --resourcemanager-opts | yarn-env | 


**Hive**  

| Nama file aplikasi yang terdampak | Tindakan bootstrap versi AMI | Klasifikasi konfigurasi | 
| --- | --- | --- | 
| hive-env.sh | tidak berlaku | hive-env | 
| hive-site.xml | hive-script --install-hive-site \$1\$1MY\$1HIVE\$1SITE\$1FILE\$1 | hive-site | 
| hive-exec-log4j.properties | tidak ada | hive-exec-log4j | 
| hive-log4j.properties | T/A | hive-log4j | 


**EMRFS**  

| Nama file aplikasi yang terdampak | Tindakan bootstrap versi AMI | Klasifikasi konfigurasi | 
| --- | --- | --- | 
| emrfs-site.xml | configure-hadoop -e | emrfs-site | 
| tidak berlaku | s3get -s s3://custom-provider.jar -d /usr/share/aws/emr/auxlib/ | emrfs-site (dengan pengaturan baru fs.s3.cse.encryptionMaterialsProvider.uri) | 

Untuk daftar semua klasifikasi, lihat [Konfigurasikan aplikasi](emr-configure-apps.md).

## Variabel lingkungan aplikasi
<a name="emr-3x-appenv"></a>

Bila menggunakan versi AMI, `hadoop-user-env.sh` digunakan bersama dengan `configure-daemons` tindakan bootstrap untuk mengkonfigurasi lingkungan Hadoop. Skrip mencakup tindakan berikut:

```
#!/bin/bash 
export HADOOP_USER_CLASSPATH_FIRST=true; 
echo "HADOOP_CLASSPATH=/path/to/my.jar" >> /home/hadoop/conf/hadoop-user-env.sh
```

Di Amazon EMR rilis 4.x, Anda melakukan hal yang sama menggunakan `hadoop-env` klasifikasi konfigurasi, seperti yang ditunjukkan dalam contoh berikut:

```
[ 
      { 
         "Classification":"hadoop-env",
         "Properties":{ 

         },
         "Configurations":[ 
            { 
               "Classification":"export",
               "Properties":{ 
                  "HADOOP_USER_CLASSPATH_FIRST":"true",
                  "HADOOP_CLASSPATH":"/path/to/my.jar"
               }
            }
         ]
      }
   ]
```

Sebagai contoh lain, menggunakan `configure-daemons` dan melewati `--namenode-heap-size=2048` dan `--namenode-opts=-XX:GCTimeRatio=19` setara dengan klasifikasi konfigurasi berikut.

```
[ 
      { 
         "Classification":"hadoop-env",
         "Properties":{ 

         },
         "Configurations":[ 
            { 
               "Classification":"export",
               "Properties":{ 
                  "HADOOP_DATANODE_HEAPSIZE":  "2048",
           	"HADOOP_NAMENODE_OPTS":  "-XX:GCTimeRatio=19"
               }
            }
         ]
      }
   ]
```

Variabel lingkungan aplikasi lainnya tidak lagi didefinisikan dalam `/home/hadoop/.bashrc`. Sebaliknya, mereka terutama diatur dalam `/etc/default` file per komponen atau aplikasi, seperti `/etc/default/hadoop`. Skrip pembungkus yang `/usr/bin/` diinstal oleh aplikasi juga RPMs dapat mengatur variabel lingkungan tambahan sebelum melibatkan skrip bin yang sebenarnya.

## Port layanan
<a name="emr-3x-serviceports"></a>

Saat menggunakan versi AMI, beberapa layanan menggunakan port kustom.


**Perubahan dalam pengaturan port**  

| Pengaturan | AMI versi 3.x | Default sumber terbuka | 
| --- | --- | --- | 
| fs.default.name | hdfs://emrDeterminedIP:9000 | default (hdfs: emrDeterminedIP //:8020)  | 
| dfs.datanode.address | 0.0.0.0:9200 | default (0.0.0.0:50010)  | 
| dfs.datanode.http.address | 0.0.0.0:9102 | default (0.0.0.0:50075)  | 
| dfs.datanode.https.address | 0.0.0.0:9402 | default (0.0.0.0:50475) | 
| dfs.datanode.ipc.alamat | 0.0.0.0:9201 | default (0.0.0.0:50020) | 
| dfs.http.address | 0.0.0.0:9101 | default (0.0.0.0:50070)  | 
| dfs.https.address | 0.0.0.0:9202 | default (0.0.0.0:50470)  | 
| dfs.secondary.http.address | 0.0.0.0:9104 | default (0.0.0.0:50090) | 
| yarn.nodemanager.alamat | 0.0.0.0:9103 | default (\$1 \$1yarn.nodemanager.hostname\$1: 0)  | 
| yarn.nodemanager.localizer.alamat  | 0.0.0.0:9033 | default (\$1 \$1yarn.nodemanager.hostname\$1: 8040) | 
| yarn.nodemanager.webapp.address | 0.0.0.0:9035 | default (\$1 \$1yarn.nodemanager.hostname\$1: 8042) | 
| yarn.resourcemanager.address | emrDeterminedIP:9022 | default (\$1\$1yarn.resourcemanager.hostname\$1:8032) | 
| yarn.resourcemanager.admin.address | emrDeterminedIP:9025 | default (\$1\$1yarn.resourcemanager.hostname\$1:8033) | 
| yarn.resourcemanager.resource-tracker.address | emrDeterminedIP:9023 | default (\$1\$1yarn.resourcemanager.hostname\$1:8031) | 
| yarn.resourcemanager.scheduler.address | emrDeterminedIP:9024 | default (\$1\$1yarn.resourcemanager.hostname\$1:8030) | 
| yarn.resourcemanager.webapp.address | 0.0.0.0:9026  | default (\$1\$1yarn.resourcemanager.hostname\$1:8088) | 
| yarn.web-proxy.address | emrDeterminedIP:9046  | default (no-value)  | 
| yarn.resourcemanager.hostname | 0.0.0.0 (default)  | emrDeterminedIP | 

**catatan**  
*emrDeterminedIP*Ini adalah alamat IP yang dihasilkan oleh Amazon EMR.

## Pengguna
<a name="emr-3x-users"></a>

Saat menggunakan versi AMI, pengguna `hadoop` menjalankan semua proses dan memiliki semua file. Di Amazon EMR rilis versi 4.0.0 dan kemudian, pengguna ada di aplikasi dan komponen tingkat.

## Urutan instalasi, artefak diinstal, dan lokasi file log
<a name="emr-3x-directories"></a>

Ketika menggunakan versi AMI, artefak aplikasi dan direktori konfigurasi mereka diinstal di `/home/hadoop/application` direktori. Misalnya, jika Anda menginstal Hive, direktori akan `/home/hadoop/hive`. Di Amazon EMR rilis 4.0.0 dan kemudian, artefak aplikasi diinstal di `/usr/lib/application` direktori. Bila menggunakan versi AMI, file log ditemukan di berbagai tempat. Tabel di bawah daftar lokasi.


**Perubahan di lokasi log di Amazon S3**  

| Daemon atau aplikasi | Lokasi direktori | 
| --- | --- | 
| Status instans | node//instance-state/ instance-id | 
| hadoop-hdfs-namenode | daemon//instance-id.log hadoop-hadoop-namenode | 
| hadoop-hdfs-datanode | daemon//instance-id.log hadoop-hadoop-datanode | 
| hadoop-benang () ResourceManager | daemon//instance-idyarn-hadoop-resourcemanager | 
| hadoop-yarn (Server Proksi) | daemon//instance-idyarn-hadoop-proxyserver | 
| mapred-historyserver | daemon//instance-id | 
| httpfs | daemon/ /httpfs.log instance-id | 
| hive-server | simpul/ /hive-server/hive-server.log instance-id | 
| hive-metastore | simpul/ /apps/hive.log instance-id | 
| Hive CLI | simpul/ /apps/hive.log instance-id | 
| aplikasi BEARN log pengguna dan log kontainer | Percobaan tugas/ | 
| Mahout | Tidak Berlaku | 
| Pig | Tidak Berlaku | 
| spark-historyserver | Tidak Berlaku | 
| berkas riwayat pekerjaan mapreduce | Pekerjaan/ | 

## Perintah
<a name="emr-differences-commandrunner"></a>

Saat menggunakan versi AMI, banyak skrip atau program, seperti `/home/hadoop/contrib/streaming/hadoop-streaming.jar`, tidak ditempatkan pada lingkungan path login shell, sehingga Anda perlu menentukan path lengkap ketika Anda menggunakan file jar seperti command-runner.jar atau script-runner.jar untuk mengeksekusi script. Parameter `command-runner.jar` terletak di AMI sehingga tidak perlu mengetahui URI lengkap seperti halnya dengan `script-runner.jar`. 

## Faktor replikasi
<a name="emr-3x-replication"></a>

Faktor replikasi memungkinkan Anda mengkonfigurasi kapan untuk memulai Hadoop JVM. Anda dapat memulai Hadoop JVM baru untuk setiap tugas, yang menyediakan isolasi tugas yang lebih baik, atau Anda dapat berbagi JVMs antar tugas, memberikan overhead kerangka kerja yang lebih rendah. Jika Anda memproses banyak file kecil, masuk akal untuk menggunakan kembali JVM berkali-kali untuk amortisasi biaya start-up. Namun, jika setiap tugas membutuhkan waktu yang lama atau proses sejumlah besar data, maka Anda mungkin memilih untuk tidak menggunakan kembali JVM untuk memastikan bahwa semua memori dibebaskan untuk tugas-tugas berikutnya. Bila menggunakan versi AMI, Anda dapat menyesuaikan faktor replikasi menggunakan `configure-hadoop` tindakan bootstrap untuk mengatur `mapred.job.reuse.jvm.num.tasks` properti. 

Contoh berikut menunjukkan pengaturan faktor penggunaan kembali JVM untuk penggunaan kembali JVM tak terbatas.

**catatan**  
Karakter kelanjutan baris Linux (\$1) disertakan untuk memudahkan pembacaan. Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan tanda sisipan (^).

```
aws emr create-cluster --name "Test cluster" --ami-version 3.11.0 \
--applications Name=Hue Name=Hive Name=Pig \
--use-default-roles --ec2-attributes KeyName=myKey \
--instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m3.xlarge \
InstanceGroupType=CORE,InstanceCount=2,InstanceType=m3.xlarge \
--bootstrap-actions Path=s3://elasticmapreduce/bootstrap-actions/configure-hadoop,\
Name="Configuring infinite JVM reuse",Args=["-m","mapred.job.reuse.jvm.num.tasks=-1"]
```