Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyesuaikan konfigurasi cluster dan aplikasi dengan AMI versi Amazon sebelumnya EMR
Amazon versi EMR rilis 4.0.0 memperkenalkan metode sederhana untuk mengkonfigurasi aplikasi menggunakan klasifikasi konfigurasi. Untuk informasi selengkapnya, lihat Konfigurasikan aplikasi. Saat menggunakan AMI versi, Anda mengonfigurasi aplikasi menggunakan tindakan bootstrap bersama dengan argumen yang Anda lewati. Misalnya, tindakan configure-hadoop
dan configure-daemons
bootstrap mengatur Hadoop dan properti lingkungan YARN spesifik 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
Tabel berikut memetakan tindakan bootstrap ke klasifikasi konfigurasi dalam versi EMR rilis Amazon yang lebih baru.
Hadoop | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Nama file aplikasi yang terdampak | AMIversi tindakan bootstrap | 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 | AMIversi tindakan bootstrap | Klasifikasi konfigurasi | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hive-env.sh |
tidak berlaku | hive-env |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hive-site.xml |
hive-script --install-hive-site
${MY_HIVE_SITE_FILE} |
hive-site |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hive-exec-log4j.properties |
tidak ada | hive-exec-log4j |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hive-log4j.properties |
tidak berlaku | hive-log4j |
EMRFS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Nama file aplikasi yang terdampak | AMIversi tindakan bootstrap | 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.
Variabel lingkungan aplikasi
Saat menggunakan AMI versi, hadoop-user-env.sh
skrip digunakan bersama dengan tindakan configure-daemons
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 release 4.x, Anda melakukan hal yang sama menggunakan klasifikasi hadoop-env
konfigurasi, seperti yang ditunjukkan pada 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
Saat menggunakan AMI versi, beberapa layanan menggunakan port khusus.
Perubahan dalam pengaturan port | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Pengaturan | AMIversi 3.x | Default sumber terbuka | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.default.name | hdfs://IP: 9000 emrDetermined | 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 ($ {yarn.nodemanager.hostname}: 0) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.nodemanager.localizer.alamat | 0.0.0.0:9033 | default ($ {yarn.nodemanager.hostname}: 8040) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.nodemanager.webapp.address | 0.0.0.0:9035 | default ($ {yarn.nodemanager.hostname}: 8042) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.resourcemanager.address | emrDeterminedIP :9022 |
default (${yarn.resourcemanager.hostname}:8032) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.resourcemanager.admin.address | emrDeterminedIP :9025 |
default (${yarn.resourcemanager.hostname}:8033) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.resourcemanager.resource-tracker.address | emrDeterminedIP :9023 |
default (${yarn.resourcemanager.hostname}:8031) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.resourcemanager.scheduler.address | emrDeterminedIP :9024 |
default (${yarn.resourcemanager.hostname}:8030) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.resourcemanager.webapp.address | 0.0.0.0:9026 | default (${yarn.resourcemanager.hostname}:8088) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.web-proxy.address | emrDeterminedIP :9046 |
default (no-value) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.resourcemanager.hostname | 0.0.0.0 (default) | emrDeterminedIP |
catatan
Bagian emrDeterminedIP
adalah alamat IP yang dihasilkan oleh AmazonEMR.
Pengguna
Saat menggunakan AMI versi, pengguna hadoop
menjalankan semua proses dan memiliki semua file. Di Amazon versi EMR rilis 4.0.0 dan yang lebih baru, pengguna ada di tingkat aplikasi dan komponen.
Urutan instalasi, artefak diinstal, dan lokasi file log
Saat menggunakan AMI versi, artefak aplikasi dan direktori konfigurasinya diinstal di /home/hadoop/
direktori. Misalnya, jika Anda menginstal Hive, direktori akan application
/home/hadoop/hive
. Dalam EMR rilis Amazon 4.0.0 dan yang lebih baru, artefak aplikasi diinstal di direktori. /usr/lib/
Saat menggunakan AMI versi, file log ditemukan di berbagai tempat. Tabel di bawah daftar lokasi.application
Perubahan di lokasi log di Amazon S3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Daemon atau aplikasi | Lokasi direktori | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Status instans | node/instance-id /instance-state/ |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hadoop-hdfs-namenode | daemon/instance-id /hadoop-hadoop-namenode.log |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hadoop-hdfs-datanode | daemon/instance-id /hadoop-hadoop-datanode.log |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hadoop-benang () ResourceManager | daemon/instance-id /yarn-hadoop-resourcemanager |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hadoop-yarn (Server Proksi) | daemon/instance-id /yarn-hadoop-proxyserver |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mapred-historyserver | daemon/instance-id / |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
httpfs | daemon/instance-id /httpfs.log |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hive-server | node/instance-id /hive-server/hive-server.log |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hive-metastore | node/instance-id /apps/hive.log |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sarang CLI | node/instance-id /apps/hive.log |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
YARNlog pengguna aplikasi dan log kontainer | Percobaan tugas/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mahout | Tidak Berlaku | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pig | Tidak Berlaku | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
spark-historyserver | Tidak Berlaku | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
berkas riwayat pekerjaan mapreduce | Pekerjaan/ |
Perintah
Saat menggunakan AMI versi, banyak skrip atau program, seperti/home/hadoop/contrib/streaming/hadoop-streaming.jar
, tidak ditempatkan di lingkungan jalur login shell, jadi Anda perlu menentukan jalur lengkap saat Anda menggunakan file jar seperti command-runner.jar atau script-runner.jar untuk menjalankan skrip. command-runner.jar
Itu terletak di AMI sehingga tidak perlu tahu secara penuh URI seperti halnya denganscript-runner.jar
.
Faktor replikasi
Faktor replikasi memungkinkan Anda mengonfigurasi kapan memulai JVM Hadoop. Anda dapat memulai Hadoop baru JVM 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 mengamortisasi biaya start-up. Namun, jika setiap tugas membutuhkan waktu lama atau memproses sejumlah besar data, maka Anda mungkin memilih untuk tidak menggunakan kembali JVM untuk memastikan bahwa semua memori dibebaskan untuk tugas-tugas berikutnya. Saat menggunakan AMI versi, Anda dapat menyesuaikan faktor replikasi menggunakan tindakan configure-hadoop
bootstrap untuk mengatur mapred.job.reuse.jvm.num.tasks
properti.
Contoh berikut menunjukkan pengaturan faktor JVM penggunaan kembali untuk penggunaan kembali tak terbatasJVM.
catatan
Karakter lanjutan baris Linux (\) disertakan agar mudah dibaca 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-version3.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"
]