Amazon EMR 릴리스 5.25.0 - Amazon EMR

Amazon EMR 릴리스 5.25.0

5.25.0 애플리케이션 버전

이 릴리스에서 지원되는 애플리케이션은 Flink, Ganglia, HBase, HCatalog, Hadoop, Hive, Hue, JupyterHub, Livy, MXNet, Mahout, Oozie, Phoenix, Pig, Presto, Spark, Sqoop, TensorFlow, Tez, Zeppelin, ZooKeeper입니다.

아래 테이블에는 이번 Amazon EMR 릴리스에서 사용할 수 있는 애플리케이션 버전과 이전 세 가지 Amazon EMR 릴리스(해당하는 경우)의 애플리케이션 버전이 나와 있습니다.

각 Amazon EMR 릴리스에서 애플리케이션 버전의 전체 기록은 다음 주제를 참조하세요.

애플리케이션 버전 정보
emr-5.25.0 emr-5.24.1 emr-5.24.0 emr-5.23.1
Java용 AWS SDK 1.11.5661.11.5461.11.5461.11.519
Python 2.7, 3.62.7, 3.62.7, 3.62.7, 3.6
Scala 2.11.122.11.122.11.122.11.12
AmazonCloudWatchAgent - - - -
Delta - - - -
Flink1.8.01.8.01.8.01.7.1
Ganglia3.7.23.7.23.7.23.7.2
HBase1.4.91.4.91.4.91.4.9
HCatalog2.3.52.3.42.3.42.3.4
Hadoop2.8.52.8.52.8.52.8.5
Hive2.3.52.3.42.3.42.3.4
Hudi - - - -
Hue4.4.04.4.04.4.04.3.0
Iceberg - - - -
JupyterEnterpriseGateway - - - -
JupyterHub0.9.60.9.60.9.60.9.4
Livy0.6.00.6.00.6.00.5.0
MXNet1.4.01.4.01.4.01.3.1
Mahout0.13.00.13.00.13.00.13.0
Oozie5.1.05.1.05.1.05.1.0
Phoenix4.14.14.14.14.14.14.14.1
Pig0.17.00.17.00.17.00.17.0
Presto0.2200.2190.2190.215
Spark2.4.32.4.22.4.22.4.0
Sqoop1.4.71.4.71.4.71.4.7
TensorFlow1.13.11.12.01.12.01.12.0
Tez0.9.20.9.10.9.10.9.1
Trino (PrestoSQL) - - - -
Zeppelin0.8.10.8.10.8.10.8.1
ZooKeeper3.4.143.4.133.4.133.4.13

5.25.0 릴리스 정보

다음 릴리스 정보에는 Amazon EMR 릴리스 5.25.0에 대한 정보가 포함됩니다. 변경 사항은 5.24.1에 관련됩니다.

최초 릴리스 날짜: 2019년 7월 17일

최종 업데이트 날짜: 2019년 10월 30일

Amazon EMR 5.25.0

업그레이드
  • AWS SDK for Java 1.11.566

  • Hive 2.3.5

  • Presto 0.220

  • Spark 2.4.3

  • TensorFlow 1.13.1

  • Tez 0.9.2

  • Zookeeper 3.4.14

새로운 기능
  • (2019년 10월 30일) Amazon EMR 버전 5.25.0부터 콘솔에서 클러스터 요약 페이지 또는 애플리케이션 기록 탭을 사용해 Spark 기록 서버 UI에 연결할 수 있습니다. SSH 연결을 통해 웹 프록시를 설정하는 대신, Spark 기록 서버 UI에 액세스하여 애플리케이션 지표를 보고 활성 클러스터 및 종료된 클러스터에 대한 관련 로그 파일에 액세스할 수 있습니다. 자세한 내용은 Amazon EMR 관리 안내서에서 영구 애플리케이션 사용자 인터페이스에 대해 클러스터 외부에서 액세스를 참조하세요.

변경 사항, 향상된 기능 및 해결된 문제
  • Spark

    • Bloom 필터로 입력을 사전 필터링하여 일부 조인의 성능을 개선했습니다. 이 최적화는 기본적으로 비활성화되어 있으며, Spark 구성 파라미터 spark.sql.bloomFilterJoin.enabledtrue로 설정하여 활성화할 수 있습니다.

    • 문자열 형식 열을 기준으로 그룹화하는 성능을 개선했습니다.

    • HBase를 설치하지 않고 클러스터에 대한 R4 인스턴스 유형의 핵심 구성 및 기본 Spark 실행기 메모리를 개선했습니다.

    • 잘린 테이블이 조인의 왼쪽에 있어야 하는 이전의 동적 파티션 잘라내기 기능에 대한 문제를 해결했습니다.

    • 별칭과 관련된 추가 사례를 적용하기 위해 INTERSECT 이전 DISTINCT 최적화를 개선했습니다.

    • DISTINCT 쿼리 이전 JOIN에 대한 SQL 계획 통계 추론을 개선했습니다. 이 개선 사항은 기본적으로 비활성화되어 있으며, Spark 구성 파라미터 spark.sql.statsImprovements.enabledtrue로 설정하여 활성화할 수 있습니다. 이 최적화는 Intersect 이전 Distinct 기능에 필요하며 spark.sql.optimizer.distinctBeforeIntersect.enabledtrue로 설정할 경우 자동으로 활성화됩니다.

    • 테이블 크기 및 필터에 따라 조인 순서를 최적화했습니다. 이 최적화는 기본적으로 비활성화되어 있으며, Spark 구성 파라미터 spark.sql.optimizer.sizeBasedJoinReorder.enabledtrue로 설정하여 활성화할 수 있습니다.

    자세한 내용은 Spark 성능 최적화를 참조하십시오.

  • EMRFS

    • 이제 EMRFS 설정 fs.s3.buckets.create.enabled가 기본적으로 비활성화됩니다. 테스트 결과 이 설정을 비활성화하면 성능이 향상되고 의도치 않은 S3 버킷 생성이 방지된다는 사실을 확인했습니다. 애플리케이션이 이 기능을 사용하는 경우 emrfs-site 구성 분류에서 속성 fs.s3.buckets.create.enabledtrue로 설정하여 활성화할 수 있습니다. 자세한 내용은 클러스터를 생성할 때 구성 제공 단원을 참조하십시오.

  • 보안 구성의 로컬 디스크 암호화 및 S3 암호화 개선(2019년 8월 5일)

    • 보안 구성 설정에서 로컬 디스크 암호화 설정과 Amazon S3 암호화 설정이 분리되었습니다.

    • EBS 암호화를 활성화하는 옵션이 5.24.0 이상 릴리스에 추가되었습니다. 이 옵션을 선택하면 스토리지 볼륨뿐만 아니라 루트 디바이스 볼륨도 암호화됩니다. 이전 버전에서는 사용자 지정 AMI를 사용하여 루트 디바이스 볼륨을 암호화해야 했습니다.

    • 자세한 내용은 Amazon EMR 관리 안내서에서 암호화 옵션을 참조하세요.

알려진 문제
  • 여러 프라이머리 노드와 Kerberos 인증을 사용하는 클러스터에서 알려진 문제

    Amazon EMR 릴리스 5.20.0 이상에서 여러 프라이머리 노드와 Kerberos 인증을 사용하여 클러스터를 실행하는 경우, 클러스터를 일정 시간 실행한 후 스케일 다운 또는 단계 제출과 같은 클러스터 작업에 문제가 발생할 수 있습니다. 기간은 정의한 Kerberos 티켓 유효 기간에 따라 다릅니다. 스케일 다운 문제는 제출한 자동 스케일 다운 및 명시적 스케일 다운 요청 모두에 영향을 미칩니다. 이외의 다른 클러스터 작업도 영향을 받을 수 있습니다.

    해결 방법:

    • 여러 프라이머리 노드가 있는 EMR 클러스터의 리드 프라이머리 노드에 대한 hadoop 사용자로 SSH 연결합니다.

    • 다음 명령을 실행하여 hadoop 사용자의 Kerberos 티켓을 갱신합니다.

      kinit -kt <keytab_file> <principal>

      일반적으로 keytab 파일은 /etc/hadoop.keytab에 있으며, 보안 주체는 hadoop/<hostname>@<REALM> 양식입니다.

    참고

    이 해결 방법은 Kerberos 티켓이 유효한 기간에 작동합니다. 이 기간은 기본적으로 10시간이지만 Kerberos 설정으로 구성할 수 있습니다. Kerberos 티켓이 만료되면 위 명령을 다시 실행해야 합니다.

5.25.0 구성 요소 버전

이 릴리스를 통해 Amazon EMR이 설치하는 구성 요소는 다음과 같습니다. 일부는 빅 데이터 애플리케이션 패키지의 일부로 설치됩니다. 나머지는 Amazon EMR에 고유하며 시스템 프로세스 및 기능을 위해 설치됩니다. 이는 일반적으로 emr 또는 aws로 시작됩니다. 최근 Amazon EMR 릴리스의 빅 데이터 애플리케이션 패키지는 일반적으로 커뮤니티에서 발견된 최신 버전입니다. 가능한 한 빨리 Amazon EMR에서 커뮤니티 릴리스를 제공합니다.

Amazon EMR의 일부 구성 요소는 커뮤니티 버전과 다릅니다. 이러한 구성 요소에는 CommunityVersion-amzn-EmrVersion 양식의 버전 레이블이 있습니다. EmrVersion은 0에서 시작합니다. 예를 들어, 버전 2.2의 myapp-component라는 오픈 소스 커뮤니티 구성 요소가 다른 Amazon EMR 릴리스에 포함되도록 세 번 수정된 경우 해당 릴리스 버전은 2.2-amzn-2로 나열됩니다.

구성 요소 버전 설명
aws-sagemaker-spark-sdk1.2.4Amazon SageMaker Spark SDK
emr-ddb4.10.0하둡 에코시스템 애플리케이션용 Amazon DynamoDB 커넥터
emr-goodies2.9.0편리한 하둡 에코시스템용 추가 라이브러리
emr-kinesis3.4.0하둡 에코시스템 애플리케이션용 Amazon Kinesis 커넥터.
emr-s3-dist-cp2.11.0Amazon S3용으로 최적화된 분사 복사 애플리케이션.
emr-s3-select1.3.0EMR S3Select 커넥터
emrfs2.34.0하둡 에코시스템 애플리케이션용 Amazon S3 커넥터.
flink-client1.8.0Apache Flink 명령줄 클라이언트 스크립트 및 애플리케이션
ganglia-monitor3.7.2하둡 에코시스템 애플리케이션용 내장형 Ganglia 에이전트와 Ganglia 모니터링 에이전트.
ganglia-metadata-collector3.7.2Ganglia 모니터링 에이전트의 측정치를 집계하기 위한 Ganglia 메타데이터 수집기.
ganglia-web3.7.1Ganglia 메타데이터 수집기에서 수집되는 측정치를 볼 수 있는 웹 애플리케이션.
hadoop-client2.8.5-amzn-4'hdfs', 'hadoop', 'yarn' 등과 같은 하둡 명령줄 클라이언트
hadoop-hdfs-datanode2.8.5-amzn-4블록을 저장하는 HDFS 노드 수준 서비스
hadoop-hdfs-library2.8.5-amzn-4HDFS 명령줄 클라이언트 및 라이브러리
hadoop-hdfs-namenode2.8.5-amzn-4파일 이름 및 블록 위치를 추적하는 HDFS 서비스
hadoop-hdfs-journalnode2.8.5-amzn-4HA 클러스터에서 하둡 파일 시스템 저널을 관리하기 위한 HDFS 서비스
hadoop-httpfs-server2.8.5-amzn-4HDFS 작업에 대한 HTTP 엔드포인트
hadoop-kms-server2.8.5-amzn-4하둡의 KeyProvider API를 기반으로 하는 암호화 키 관리 서버
hadoop-mapred2.8.5-amzn-4MapReduce 애플리케이션을 실행하는 MapReduce 실행 엔진 라이브러리
hadoop-yarn-nodemanager2.8.5-amzn-4개별 노드의 컨테이너를 관리하는 YARN 서비스
hadoop-yarn-resourcemanager2.8.5-amzn-4클러스터 리소스 및 분산 애플리케이션을 할당 및 관리하는 YARN 서비스
hadoop-yarn-timeline-server2.8.5-amzn-4YARN 애플리케이션의 현재 및 기록 정보를 가져오는 서비스
hbase-hmaster1.4.9리전 조정 및 관리 명령의 실행을 담당하는 HBase 클러스터용 서비스
hbase-region-server1.4.9한 개 이상의 HBase 리전에 서비스를 제공하는 서비스
hbase-client1.4.9HBase 명령줄 클라이언트
hbase-rest-server1.4.9HBase용 RESTful HTTP 엔드포인트를 제공하는 서비스
hbase-thrift-server1.4.9HBase에 Thrift 엔드포인트를 제공하는 서비스
hcatalog-client2.3.5-amzn-0hcatalog-server를 조정하기 위한 'hcat' 명령줄 클라이언트
hcatalog-server2.3.5-amzn-0분산 애플리케이션용 스토리지 관리 계층, 테이블 및 HCatalog를 제공하는 서비스
hcatalog-webhcat-server2.3.5-amzn-0HCatalog에 REST 인터페이스를 제공하는 HTTP 엔드포인트
hive-client2.3.5-amzn-0Hive 명령줄 클라이언트
hive-hbase2.3.5-amzn-0Hive-hbase 클라이언트
hive-metastore-server2.3.5-amzn-0하둡 작업에 대한 SQL용 메타데이터가 저장되는 시맨틱 리포지토리인 Hive 메타스토어에 액세스하기 위한 서비스
hive-server22.3.5-amzn-0Hive 쿼리를 웹 요청으로 수락하기 위한 서비스
hue-server4.4.0하둡 에코시스템 애플리케이션을 사용하여 데이터를 분석하는 웹 애플리케이션.
jupyterhub0.9.6Jupyter Notebook용 다중 사용자 서버
livy-server0.6.0-incubatingApache Spark와 상호작용하기 위한 REST 인터페이스
nginx1.12.1HTTP인 nginx [engine x] 및 역방향 프록시 서버
mahout-client0.13.0머신 러닝을 위한 라이브러리.
mxnet1.4.0유연성, 확장성 및 효율성이 뛰어난 딥 러닝용 라이브러리.
mysql-server5.5.54+MySQL 데이터베이스 서버.
nvidia-cuda9.2.88Nvidia 드라이버와 Cuda 도구 키트
oozie-client5.1.0Oozie 명령줄 클라이언트
oozie-server5.1.0Oozie 워크플로 요청을 수락하는 서비스
opencv3.4.0오픈 소스 컴퓨터 비전 라이브러리.
phoenix-library4.14.1-HBase-1.4서버 및 클라이언트의 phoenix 라이브러리
phoenix-query-server4.14.1-HBase-1.4Avatica API에 대한 JSON 형식 액세스 및 프로토콜 버퍼 액세스를 비롯하여 JDBC 액세스를 제공하는 경량 서버
presto-coordinator0.220presto-worker의 쿼리를 수락하고 쿼리 실행을 관리하는 서비스.
presto-worker0.220여러 쿼리를 실행하는 서비스.
pig-client0.17.0Pig 명령줄 클라이언트.
r3.4.1통계 컴퓨팅용 R 프로젝트
spark-client2.4.3Spark 명령줄 클라이언트.
spark-history-server2.4.3완료된 Spark 애플리케이션의 수명에 대해 기록된 이벤트를 조회하는 웹 UI.
spark-on-yarn2.4.3YARN용 인 메모리 실행 엔진.
spark-yarn-slave2.4.3YARN 슬레이브에서 필요한 Apache Spark 라이브러리.
sqoop-client1.4.7Apache Sqoop 명령줄 클라이언트.
tensorflow1.13.1TensorFlow는 고성능 수치 계산용 오픈 소스 소프트웨어 라이브러리입니다.
tez-on-yarn0.9.2tez YARN 애플리케이션 및 라이브러리.
webserver2.4.25+Apache HTTP 서버.
zeppelin-server0.8.1대화형 데이터 분석이 가능한 웹 기반 노트북
zookeeper-server3.4.14구성 정보 유지 관리, 이름 지정, 분산 동기화 제공 및 그룹 서비스 제공을 위한 중앙 집중식 서비스.
zookeeper-client3.4.14ZooKeeper 명령줄 클라이언트.

5.25.0 구성 분류

구성 분류를 사용하면 애플리케이션을 사용자 지정할 수 있습니다. 이는 종종 hive-site.xml과 같이 애플리케이션의 구성 XML 파일에 해당합니다. 자세한 내용은 애플리케이션 구성 단원을 참조하십시오.

emr-5.25.0 분류
분류 설명

capacity-scheduler

하둡 capacity-scheduler.xml 파일의 값을 변경합니다.

container-log4j

하둡 YARN의 container-log4j.properties 파일의 값을 변경합니다.

core-site

하둡 core-site.xml 파일의 값을 변경합니다.

emrfs-site

EMRFS 설정을 변경합니다.

flink-conf

flink-conf.yaml 설정을 변경합니다.

flink-log4j

Flink log4j.properties 설정을 변경합니다.

flink-log4j-yarn-session

Flink log4j-yarn-session.properties 설정을 변경합니다.

flink-log4j-cli

Flink log4j-cli.properties 설정을 변경합니다.

hadoop-env

모든 하둡 구성 요소에 대한 하둡 환경의 값을 변경합니다.

hadoop-log4j

하둡 log4j.properties 파일의 값을 변경합니다.

hadoop-ssl-server

hadoop ssl 서버 구성을 변경합니다.

hadoop-ssl-client

hadoop ssl 클라이언트 구성을 변경합니다.

hbase

Apache HBase에 대한 Amazon EMR 큐레이트 설정입니다.

hbase-env

HBase 환경의 값을 변경합니다.

hbase-log4j

HBase hbase-log4j.properties 파일의 값을 변경합니다.

hbase-metrics

HBase hadoop-metrics2-hbase.properties 파일의 값을 변경합니다.

hbase-policy

HBase hbase-policy.xml 파일의 값을 변경합니다.

hbase-site

HBase hbase-site.xml 파일의 값을 변경합니다.

hdfs-encryption-zones

HDFS 암호화 영역을 구성합니다.

hdfs-site

HDFS hdfs-site.xml의 값을 변경합니다.

hcatalog-env

HCatalog 환경의 값을 변경합니다.

hcatalog-server-jndi

HCatalog jndi.properties 환경의 값을 변경합니다.

hcatalog-server-proto-hive-site

HCatalog proto-hive-site.xml의 값을 변경합니다.

hcatalog-webhcat-env

HCatalog WebHCat 환경의 값을 변경합니다.

hcatalog-webhcat-log4j2

HCatalog WebHCat log4j2.properties의 값을 변경합니다.

hcatalog-webhcat-site

HCatalog WebHCat webhcat-site.xml 파일의 값을 변경합니다.

hive-beeline-log4j2

Hive beeline-log4j2.properties 파일의 값을 변경합니다.

hive-parquet-logging

Hive parquet-logging.properties 파일의 값을 변경합니다.

hive-env

Hive 환경의 값을 변경합니다.

hive-exec-log4j2

Hive hive-exec-log4j2.properties 파일의 값을 변경합니다.

hive-llap-daemon-log4j2

Hive llap-daemon-log4j2.properties 파일의 값을 변경합니다.

hive-log4j2

Hive hive-log4j2.properties 파일의 값을 변경합니다.

hive-site

Hive hive-site.xml 파일의 값을 변경합니다.

hiveserver2-site

Hive Server2 hiveserver2-site.xml 파일의 값을 변경합니다.

hue-ini

Hue ini 파일의 값을 변경합니다.

httpfs-env

HTTPFS 환경의 값을 변경합니다.

httpfs-site

하둡 httpfs-site.xml 파일의 값을 변경합니다.

hadoop-kms-acls

하둡 kms-acls.xml 파일의 값을 변경합니다.

hadoop-kms-env

하둡 KMS 환경의 값을 변경합니다.

hadoop-kms-log4j

하둡 kms-log4j.properties 파일의 값을 변경합니다.

hadoop-kms-site

하둡 kms-site.xml 파일의 값을 변경합니다.

jupyter-notebook-conf

Jupyter Notebook의 jupyter_notebook_config.py 파일에서 값을 변경합니다.

jupyter-hub-conf

JupyterHubs의 jupyterhub_config.py 파일에서 값을 변경합니다.

jupyter-s3-conf

Jupyter Notebook S3 지속성 구성

jupyter-sparkmagic-conf

Sparkmagic의 config.json 파일의 값을 변경합니다.

livy-conf

Livy의 livy.conf 파일의 값을 변경합니다.

livy-env

Livy 환경의 값을 변경합니다.

livy-log4j

Livy log4j.properties 설정을 변경합니다.

mapred-env

MapReduce 애플리케이션 환경의 값을 변경합니다.

mapred-site

MapReduce 애플리케이션 mapred-site.xml 파일의 값을 변경합니다.

oozie-env

Oozie 환경의 값을 변경합니다.

oozie-log4j

Oozie oozie-log4j.properties 파일의 값을 변경합니다.

oozie-site

Oozie oozie-site.xml 파일의 값을 변경합니다.

phoenix-hbase-metrics

Phoenix hadoop-metrics2-hbase.properties 파일의 값을 변경합니다.

phoenix-hbase-site

Phoenix hbase-site.xml 파일의 값을 변경합니다.

phoenix-log4j

Phoenix log4j.properties 파일의 값을 변경합니다.

phoenix-metrics

Phoenix hadoop-metrics2-phoenix.properties 파일의 값을 변경합니다.

pig-env

Pig 환경에서 값을 변경합니다.

pig-properties

Pig pig.properties 파일의 값을 변경합니다.

pig-log4j

Pig log4j.properties 파일의 값을 변경합니다.

presto-log

Presto log.properties 파일의 값을 변경합니다.

presto-config

Presto config.properties 파일의 값을 변경합니다.

presto-password-authenticator

Presto의 password-authenticator.properties 파일의 값을 변경합니다.

presto-env

Presto의 presto-env.sh 파일에서 값을 변경합니다.

presto-node

Presto의 node.properties 파일에서 값을 변경합니다.

presto-connector-blackhole

Presto blackhole.properties 파일의 값을 변경합니다.

presto-connector-cassandra

Presto cassandra.properties 파일의 값을 변경합니다.

presto-connector-hive

Presto hive.properties 파일의 값을 변경합니다.

presto-connector-jmx

Presto jmx.properties 파일의 값을 변경합니다.

presto-connector-kafka

Presto kafka.properties 파일의 값을 변경합니다.

presto-connector-localfile

Presto localfile.properties 파일의 값을 변경합니다.

presto-connector-memory

Presto memory.properties 파일의 값을 변경합니다.

presto-connector-mongodb

Presto mongodb.properties 파일의 값을 변경합니다.

presto-connector-mysql

Presto mysql.properties 파일의 값을 변경합니다.

presto-connector-postgresql

Presto postgresql.properties 파일의 값을 변경합니다.

presto-connector-raptor

Presto raptor.properties 파일의 값을 변경합니다.

presto-connector-redis

Presto redis.properties 파일의 값을 변경합니다.

presto-connector-redshift

Presto redshift.properties 파일의 값을 변경합니다.

presto-connector-tpch

Presto tpch.properties 파일의 값을 변경합니다.

presto-connector-tpcds

Presto tpcds.properties 파일의 값을 변경합니다.

recordserver-env

EMR RecordServer 환경의 값을 변경합니다.

recordserver-conf

EMR RecordServer의 erver.properties 파일의 값을 변경합니다.

recordserver-log4j

EMR RecordServer의 log4j.properties 파일의 값을 변경합니다.

spark

Apache Spark에 대한 Amazon EMR 큐레이트 설정입니다.

spark-defaults

Spark spark-defaults.conf 파일의 값을 변경합니다.

spark-env

the Spark 환경의 값을 변경합니다.

spark-hive-site

Spark hive-site.xml 파일의 값을 변경합니다.

spark-log4j

Spark log4j.properties 파일의 값을 변경합니다.

spark-metrics

Spark metrics.properties 파일의 값을 변경합니다.

sqoop-env

Sqoop 환경의 값을 변경합니다.

sqoop-oraoop-site

Sqoop OraOop oraoop-site.xml 파일의 값을 변경합니다.

sqoop-site

Sqoop sqoop-site.xml 파일의 값을 변경합니다.

tez-site

Tez tez-site.xml 파일의 값을 변경합니다.

yarn-env

YARN 환경의 값을 변경합니다.

yarn-site

YARN yarn-site.xml 파일의 값을 변경합니다.

zeppelin-env

Zeppelin 환경의 값을 변경합니다.

zookeeper-config

ZooKeeper zoo.cfg 파일의 값을 변경합니다.

zookeeper-log4j

ZooKeeper log4j.properties 파일의 값을 변경합니다.