기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
특정 Java 가상 머신을 사용하도록 애플리케이션 구성
Amazon EMR 릴리스에는 다양한 기본 Java 가상 머신 (JVM) 버전이 있습니다. 이 페이지에서는 다양한 릴리스 및 애플리케이션에 대한 JVM 지원을 설명합니다.
고려 사항
애플리케이션에 지원되는 Java 버전에 대한 자세한 내용은 Amazon EMR 릴리스 가이드의 애플리케이션 페이지를 참조하십시오.
-
Amazon은 클러스터에서 하나의 런타임 EMR 버전만 실행할 수 있으며, 동일한 클러스터의 다양한 런타임 버전에서 다른 노드 또는 애플리케이션을 실행하는 것은 지원하지 않습니다.
-
Amazon EMR 7.x의 경우, 자바 17을 지원하는 애플리케이션의 경우 기본 자바 가상 머신 (JVM) 은 자바 17입니다. 단, Apache Livy는 예외입니다. 지원되는 애플리케이션 JDK 버전에 대한 자세한 내용은 Amazon Release Guide의 해당 EMR 릴리스 페이지를 참조하십시오.
-
Amazon EMR 7.1.0부터 Flink는 기본적으로 Java 17을 지원하며 Java 17로 설정되어 있습니다. 다른 버전의 Java 런타임을 사용하려면 의 설정을 재정의하십시오.
flink-conf
Java 8 또는 Java 11을 사용하도록 Flink를 구성하는 방법에 대한 자세한 내용은 Java 11에서 실행되도록 Flink 구성을 참조하십시오. -
Amazon EMR 5.x 및 6.x의 경우 기본 자바 가상 머신 (JVM) 은 자바 8입니다.
-
Amazon EMR 릴리스 6.12.0 이상의 경우 일부 애플리케이션은 Java 11 및 17도 지원합니다.
-
Amazon EMR 릴리스 6.9.0 이상의 경우 Trino는 자바 17을 기본으로 지원합니다. Trino를 사용하는 Java 17에 대한 자세한 내용은 Trino 블로그에서 Trino updates to Java 17
을 참조하세요.
-
런타임 버전을 선택할 때는 다음과 같은 애플리케이션별 고려 사항에 주의합니다.
애플리케이션별 Java 구성 참고 사항 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
애플리케이션 | Java 구성 참고 사항 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Spark |
기본이 아닌 Java 버전으로 Spark를 실행하려면 Spark 및 Hadoop을 모두 구성해야 합니다. 예를 보려면 다음을 재정의하십시오. JVM 을 참조하세요.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
스파크 RAPIDS |
Spark용으로 구성된 Java RAPIDS 버전으로 실행할 수 있습니다. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Iceberg |
Iceberg를 사용하는 애플리케이션의 구성된 Java 버전으로 Iceberg를 실행할 수 있습니다. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
델타 |
Delta를 사용하는 애플리케이션의 구성된 Java 버전으로 Delta를 실행할 수 있습니다. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hudi |
Hudi를 사용하는 애플리케이션의 구성된 Java 버전으로 Hudi를 실행할 수 있습니다. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hadoop |
JVMHadoop용으로 업데이트하려면 수정하십시오. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hive |
Hive용 Java 버전을 11 또는 17로 설정하려면 하둡 JVM 설정을 사용하려는 Java 버전으로 구성하십시오. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HBase |
양식을 업데이트하려면 수정하십시오JVM. HBase |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Flink |
JVMFlink용으로 업데이트하려면 수정하십시오. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Oozie |
Java 11 또는 17에서 실행하도록 Oozie를 구성하려면 Oozie 서버, Oozie LauncherAM Launcher AM을 구성하고 클라이언트 측 실행 파일 및 작업 구성을 변경합니다. Java 17에서 실행하도록 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pig | Pig는 Java 8만 지원합니다. Java 11 또는 17을 Hadoop과 함께 사용하고 동일한 클러스터에서 Pig를 실행할 수 없습니다. |
다음을 재정의하십시오. JVM
Amazon 릴리스 JVM 설정을 재정의하려면 (예: Amazon EMR EMR 릴리스 6.12.0을 사용하는 클러스터에서 Java 17을 사용하는 경우) Flink를 제외한 모든 애플리케이션에
대한 환경 분류에 application
-envJAVA_HOME
설정을 제공하십시오. Flink의 경우 환경 분류는 flink-conf
입니다. Flink를 사용하여 Java 런타임을 구성하는 단계는 Java 11과 함께 실행하도록 Flink 구성 섹션을 참조하세요.
Apache Spark로 설정을 재정의하십시오. JVM
Amazon EMR 릴리스 6.12 이상에서 Spark를 사용할 때 클러스터 모드에서 제출용 드라이버를 작성하면 드라이버는 Java 8을 사용하지만 실행자가 Java 11 또는 17을 사용하도록 환경을 설정할 수 있습니다. 또한 5.x 미만의 Amazon EMR 릴리스에서 Spark를 사용하고 클러스터 모드에서 제출용 드라이버를 작성하는 경우 드라이버는 Java 7을 사용합니다. 하지만 실행기에서 Java 8을 사용하도록 환경을 설정할 수 있습니다.
JVMSpark용 를 재정의하려면 하둡과 Spark 분류를 모두 설정하는 것이 좋습니다.
{ "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Configurations": [], "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} }, { "Classification": "spark-env", "Configurations": [ { "Classification": "export", "Configurations": [], "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} }
JVMApache로 설정을 재정의하십시오. HBase
Java HBase 11을 사용하도록 구성하려면 클러스터를 시작할 때 다음 구성을 설정하면 됩니다.
[ { "Classification": "hbase-env", "Configurations": [ { "Classification": "export", "Configurations": [], "Properties": { "JAVA_HOME": "/usr/lib/jvm/jre-11" } } ], "Properties": {} } ]
Apache 하둡 및 Hive로 JVM 설정을 재정의합니다.
다음 예제는 Hadoop 및 Hive에서 버전 JVM 17로 설정하는 방법을 보여줍니다.
[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Configurations": [], "Properties": { "JAVA_HOME": "/usr/lib/jvm/jre-17" } } ], "Properties": {} } ]
서비스 포트
다음은 서비스 포트입니다YARN. HDFS 이러한 설정은 하둡 기본값을 반영합니다. 다른 방식으로 문서화되지 않은 한, 기타 애플리케이션 서비스는 기본 포트에서 호스팅됩니다. 자세한 내용은 애플리케이션의 프로젝트 설명서를 참조하십시오.
YARN및 에 대한 포트 설정 HDFS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
설정 | 호스트 이름/포트 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
기본값 ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
디폴트 ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
디폴트 ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
디폴트 ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
디폴트 ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
디폴트 ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
디폴트 ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
디폴트 ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
디폴트 ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
디폴트 ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
디폴트 ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
디폴트 ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
디폴트 ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
디폴트 ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
디폴트 ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
디폴트 ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
디폴트 ( |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
참고
용어 emrDeterminedIP
Amazon EMR 컨트롤 플레인이 생성하는 IP 주소입니다. 최신 버전에서는 yarn.resourcemanager.hostname
및 fs.default.name
설정을 제외하고 이 규칙이 제거되었습니다.
애플리케이션 사용자
애플리케이션은 프로세스를 고유의 사용자로 실행합니다. 예를 들어 Hive는 사용자 JVMs hive
권한으로 MapReduce JVMs mapred
실행되고 다른 계정으로 실행되는 식입니다. 다음의 프로세스 상태 예제에서 이 과정을 볼 수 있습니다.
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
hive 6452 0.2 0.7 853684 218520 ? Sl 16:32 0:13 /usr/lib/jvm/java-openjdk/bin/java -Xmx256m -Dhive.log.dir=/var/log/hive -Dhive.log.file=hive-metastore.log -Dhive.log.threshold=INFO -Dhadoop.log.dir=/usr/lib/hadoop
hive 6557 0.2 0.6 849508 202396 ? Sl 16:32 0:09 /usr/lib/jvm/java-openjdk/bin/java -Xmx256m -Dhive.log.dir=/var/log/hive -Dhive.log.file=hive-server2.log -Dhive.log.threshold=INFO -Dhadoop.log.dir=/usr/lib/hadoop/l
hbase 6716 0.1 1.0 1755516 336600 ? Sl Jun21 2:20 /usr/lib/jvm/java-openjdk/bin/java -Dproc_master -XX:OnOutOfMemoryError=kill -9 %p -Xmx1024m -ea -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -Dhbase.log.dir=/var/
hbase 6871 0.0 0.7 1672196 237648 ? Sl Jun21 0:46 /usr/lib/jvm/java-openjdk/bin/java -Dproc_thrift -XX:OnOutOfMemoryError=kill -9 %p -Xmx1024m -ea -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -Dhbase.log.dir=/var/
hdfs 7491 0.4 1.0 1719476 309820 ? Sl 16:32 0:22 /usr/lib/jvm/java-openjdk/bin/java -Dproc_namenode -Xmx1000m -Dhadoop.log.dir=/var/log/hadoop-hdfs -Dhadoop.log.file=hadoop-hdfs-namenode-ip-10-71-203-213.log -Dhadoo
yarn 8524 0.1 0.6 1626164 211300 ? Sl 16:33 0:05 /usr/lib/jvm/java-openjdk/bin/java -Dproc_proxyserver -Xmx1000m -Dhadoop.log.dir=/var/log/hadoop-yarn -Dyarn.log.dir=/var/log/hadoop-yarn -Dhadoop.log.file=yarn-yarn-
yarn 8646 1.0 1.2 1876916 385308 ? Sl 16:33 0:46 /usr/lib/jvm/java-openjdk/bin/java -Dproc_resourcemanager -Xmx1000m -Dhadoop.log.dir=/var/log/hadoop-yarn -Dyarn.log.dir=/var/log/hadoop-yarn -Dhadoop.log.file=yarn-y
mapred 9265 0.2 0.8 1666628 260484 ? Sl 16:33 0:12 /usr/lib/jvm/java-openjdk/bin/java -Dproc_historyserver -Xmx1000m -Dhadoop.log.dir=/usr/lib/hadoop/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/usr/lib/hadoop