Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Anpassen der Cluster- und Anwendungskonfiguration mit früheren AMI Versionen von Amazon EMR
Mit der EMR Amazon-Version 4.0.0 wurde eine vereinfachte Methode zur Konfiguration von Anwendungen mithilfe von Konfigurationsklassifizierungen eingeführt. Weitere Informationen finden Sie unter Anwendungen konfigurieren. Wenn Sie eine AMI Version verwenden, konfigurieren Sie Anwendungen mithilfe von Bootstrap-Aktionen zusammen mit Argumenten, die Sie übergeben. Die Aktionen configure-hadoop
und configure-daemons
Bootstrap legen beispielsweise Hadoop- und YARN spezifische Umgebungseigenschaften wie fest. --namenode-heap-size
In neueren Versionen werden diese mit den Konfigurationsklassifizierungen hadoop-env
und yarn-env
konfiguriert. Bootstrap-Aktionen, die allgemeine Konfigurationen durchführen, finden Sie im Repository auf Github. emr-bootstrap-actions
In den folgenden Tabellen werden Bootstrap-Aktionen den Konfigurationsklassifizierungen in neueren EMR Amazon-Release-Versionen zugeordnet.
Hadoop | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dateiname der betroffenen Anwendung | AMIVersion: Bootstrap-Aktion | Konfigurationsklassifizierung | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
core-site.xml |
configure-hadoop -c
|
core-site |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
log4j.properties |
configure-hadoop -l |
hadoop-log4j |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hdfs-site.xml |
configure-hadoop -s |
hdfs-site
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
– | – | 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dateiname der betroffenen Anwendung | AMIVersion: Bootstrap-Aktion | Konfigurationsklassifizierung | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hive-env.sh |
– | hive-env |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hive-site.xml |
hive-script --install-hive-site
${MY_HIVE_SITE_FILE} |
hive-site |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hive-exec-log4j.properties |
– | hive-exec-log4j |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hive-log4j.properties |
– | hive-log4j |
EMRFS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dateiname der betroffenen Anwendung | AMIVersion: Bootstrap-Aktion | Konfigurationsklassifizierung | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
emrfs-site.xml |
configure-hadoop -e |
emrfs-site |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
– | s3get -s s3://custom-provider.jar -d
/usr/share/aws/emr/auxlib/ |
emrfs-site (mit neuer Einstellung fs.s3.cse.encryptionMaterialsProvider.uri ) |
Eine Liste aller Klassifizierungen finden Sie unter Anwendungen konfigurieren.
Variablen für die Anwendungsumgebung
Wenn Sie eine AMI Version verwenden, wird ein hadoop-user-env.sh
Skript zusammen mit der configure-daemons
Bootstrap-Aktion verwendet, um die Hadoop-Umgebung zu konfigurieren. Das Skript umfasst die folgenden Aktionen:
#!/bin/bash export HADOOP_USER_CLASSPATH_FIRST=true; echo "HADOOP_CLASSPATH=/path/to/my.jar" >> /home/hadoop/conf/hadoop-user-env.sh
In EMR Amazon-Version 4.x machen Sie dasselbe mit der hadoop-env
Konfigurationsklassifizierung, wie im folgenden Beispiel gezeigt:
[ { "Classification":"hadoop-env", "Properties":{ }, "Configurations":[ { "Classification":"export", "Properties":{ "HADOOP_USER_CLASSPATH_FIRST":"true", "HADOOP_CLASSPATH":"/path/to/my.jar" } } ] } ]
Ein weiteres Beispiel verdeutlicht, dass die Verwendung von configure-daemons
und die Übergabe von --namenode-heap-size=2048
und --namenode-opts=-XX:GCTimeRatio=19
den folgenden Konfigurationsklassifizierungen entspricht.
[ { "Classification":"hadoop-env", "Properties":{ }, "Configurations":[ { "Classification":"export", "Properties":{ "HADOOP_DATANODE_HEAPSIZE": "2048", "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19" } } ] } ]
Andere Umgebungsvariablen der Anwendung werden nicht länger in /home/hadoop/.bashrc
definiert. Stattdessen werden sie hauptsächlich in /etc/default
-Dateien nach Komponente oder Anwendung eingerichtet, z. B. /etc/default/hadoop
. Wrapper-Skripte, die von der Anwendung /usr/bin/
installiert werden, RPMs können auch zusätzliche Umgebungsvariablen setzen, bevor das eigentliche Bin-Skript verwendet wird.
Service-Ports
Wenn Sie eine AMI Version verwenden, verwenden einige Dienste benutzerdefinierte Ports.
Änderungen der Port-Einstellungen | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Einstellung | AMIVersion 3.x | Open-Source-Standard | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.default.name | hdfs://IP: 9000 emrDetermined | Standard (hdfs://emrDeterminedIP :8020) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dfs.datanode.address | 0.0.0.0:9200 | Standard (0.0.0.0:50010) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dfs.datanode.http.address | 0.0.0.0:9102 | Standard (0.0.0.0:50075) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dfs.datanode.https.address | 0.0.0.0:9402 | Standard (0.0.0.0:50475) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dfs.datanode.ipc.address | 0.0.0.0:9201 | Standard (0.0.0.0:50020) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dfs.http.address | 0.0.0.0:9101 | Standard (0.0.0.0:50070) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dfs.https.address | 0.0.0.0:9202 | Standard (0.0.0.0:50470) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dfs.secondary.http.address | 0.0.0.0:9104 | Standard (0.0.0.0:50090) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.nodemanager.address | 0.0.0.0:9103 | Standard (${yarn.nodemanager.hostname}:0) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.nodemanager.localizer.address | 0.0.0.0:9033 | Standard (${yarn.nodemanager.hostname}:8040) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.nodemanager.webapp.address | 0.0.0.0:9035 | Standard (${yarn.nodemanager.hostname}:8042) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.resourcemanager.address | emrDeterminedIP :9022 |
Standard (${yarn.resourcemanager.hostname}:8032) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.resourcemanager.admin.address | emrDeterminedIP :9025 |
Standard (${yarn.resourcemanager.hostname}:8033) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.resourcemanager.resource-tracker.address | emrDeterminedIP :9023 |
Standard (${yarn.resourcemanager.hostname}:8031) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.resourcemanager.scheduler.address | emrDeterminedIP :9024 |
Standard (${yarn.resourcemanager.hostname}:8030) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.resourcemanager.webapp.address | 0.0.0.0:9026 | Standard (${yarn.resourcemanager.hostname}:8088) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.web-proxy.address | emrDeterminedIP :9046 |
Standard (no-value) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
yarn.resourcemanager.hostname | 0.0.0.0 (Standard) | emrDeterminedIP |
Anmerkung
Das Tool emrDeterminedIP
ist eine IP-Adresse, die von Amazon generiert wirdEMR.
Benutzer
Bei Verwendung einer AMI Version hadoop
führt der Benutzer alle Prozesse aus und besitzt alle Dateien. In EMR Amazon-Release-Version 4.0.0 und höher existieren Benutzer auf Anwendungs- und Komponentenebene.
Installationssequenz, installierte Artefakte und Speicherorte für die Protokolldatei
Wenn Sie eine AMI Version verwenden, werden Anwendungsartefakte und ihre Konfigurationsverzeichnisse im /home/hadoop/
Verzeichnis installiert. Wenn Sie beispielsweise das Verzeichnis Hive installiert hatten, lautete das Verzeichnis application
/home/hadoop/hive
. In EMR Amazon-Version 4.0.0 und höher werden Anwendungsartefakte im /usr/lib/
Verzeichnis installiert. Wenn Sie eine AMI Version verwenden, befinden sich Protokolldateien an verschiedenen Stellen. In der folgenden Tabelle sind diese Speicherorte aufgeführt.application
Änderungen der Protokollspeicherorte in Amazon S3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Daemon oder Anwendung | Speicherort des Verzeichnisses | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
instance-state | knoten/instance-id /instanzzustand/ |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hadoop-hdfs-namenode | Dämonen/instance-id /.log hadoop-hadoop-namenode |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hadoop-hdfs-datanode | Dämonen/instance-id /.log hadoop-hadoop-datanode |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hadoop-Garn () ResourceManager | Dämonen/instance-id /yarn-hadoop-resourcemanager |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hadoop-yarn (Proxy-Server) | Dämonen/instance-id /yarn-hadoop-proxyserver |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mapred-historyserver | Dämonen/instance-id / |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
httpfs | Dämonen/instance-id /httpfs.log |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hive-server | knoten/instance-id /hive-server/hive-server.log |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hive-metastore | knoten/instance-id /apps/hive.log |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bienenstock CLI | knoten/instance-id /apps/hive.log |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
YARNAnwendungen, Benutzerprotokolle und Container-Protokolle | task-attempts/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mahout | N/A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pig | N/A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
spark-historyserver | – | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Verlaufsdateien des MapReduce-Auftrags | jobs/ |
Command Runner
Wenn Sie eine AMI Version verwenden/home/hadoop/contrib/streaming/hadoop-streaming.jar
, werden viele Skripte oder Programme nicht in der Shell-Anmeldepfadumgebung platziert. Sie müssen also den vollständigen Pfad angeben, wenn Sie eine JAR-Datei wie command-runner.jar oder script-runner.jar verwenden, um die Skripten auszuführen. Das command-runner.jar
befindet sich auf der, AMI sodass Sie nicht alles wissen müssen, URI wie es bei der Fall warscript-runner.jar
.
Replikationsfaktor
Mit dem Replikationsfaktor können Sie konfigurieren, wann ein Hadoop JVM gestartet werden soll. Sie können JVM für jede Aufgabe ein neues Hadoop starten, was für eine bessere Aufgabenisolierung sorgt, oder Sie können die Aufgaben gemeinsam nutzen, wodurch JVMs der Framework-Overhead geringer wird. Wenn Sie viele kleine Dateien verarbeiten, ist es sinnvoll, diese JVM mehrfach wiederzuverwenden, um die Startkosten zu amortisieren. Wenn jedoch jede Aufgabe viel Zeit in Anspruch nimmt oder eine große Datenmenge verarbeitet, sollten Sie sich dafür entscheiden, die nicht wiederzuverwenden, JVM um sicherzustellen, dass der gesamte Speicher für nachfolgende Aufgaben freigegeben wird. Wenn Sie eine AMI Version verwenden, können Sie den Replikationsfaktor mithilfe der configure-hadoop
Bootstrap-Aktion anpassen, um die mapred.job.reuse.jvm.num.tasks
Eigenschaft festzulegen.
Das folgende Beispiel zeigt, wie der JVM Wiederverwendungsfaktor für unendliche JVM Wiederverwendung festgelegt wird.
Anmerkung
Linux-Zeilenfortsetzungszeichen (\) sind aus Gründen der Lesbarkeit enthalten. Sie können entfernt oder in Linux-Befehlen verwendet werden. Entfernen Sie sie unter Windows oder ersetzen Sie sie durch ein Caret-Zeichen (^).
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"
]