Amazon EMR 릴리스 5.14.0 - Amazon EMR

Amazon EMR 릴리스 5.14.0

애플리케이션 버전

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

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

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

애플리케이션 버전 정보
emr-5.14.0 emr-5.13.1 emr-5.13.0 emr-5.12.3
Java용 AWS SDK 1.11.2971.11.2971.11.2971.11.267
Python 2.7, 3.42.7, 3.42.7, 3.42.7, 3.4
Scala 사용할 수 없음사용할 수 없음사용할 수 없음사용할 수 없음
Delta - - - -
Flink1.4.21.4.01.4.01.4.0
Ganglia3.7.23.7.23.7.23.7.2
HBase1.4.21.4.21.4.21.4.0
HCatalog2.3.22.3.22.3.22.3.2
Hadoop2.8.32.8.32.8.32.8.3
Hive2.3.22.3.22.3.22.3.2
Hudi - - - -
Hue4.1.04.1.04.1.04.1.0
Iceberg - - - -
JupyterEnterpriseGateway - - - -
JupyterHub0.8.1 - - -
Livy0.4.00.4.00.4.00.4.0
MXNet1.1.01.0.01.0.01.0.0
Mahout0.13.00.13.00.13.00.13.0
Oozie4.3.04.3.04.3.04.3.0
Phoenix4.13.04.13.04.13.04.13.0
Pig0.17.00.17.00.17.00.17.0
Presto0.1940.1940.1940.188
Spark2.3.02.3.02.3.02.2.1
Sqoop1.4.71.4.61.4.61.4.6
TensorFlow - - - -
Tez0.8.40.8.40.8.40.8.4
Trino (PrestoSQL) - - - -
Zeppelin0.7.30.7.30.7.30.7.3
ZooKeeper3.4.103.4.103.4.103.4.10

릴리스 정보

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

최초 릴리스 날짜: 2018년 6월 4일

업그레이드
  • Apache Flink를 1.4.2로 업그레이드

  • Apache MXnet을 1.1.0으로 업그레이드

  • Apache Sqoop를 1.4.7로 업그레이드

새로운 기능
  • JupyterHub 지원을 추가했습니다. 자세한 내용은 JupyterHub 섹션을 참조하세요.

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

    • Amazon S3에 대한 요청의 userAgent 문자열이 간접 호출하는 보안 주체의 사용자 및 그룹 정보를 포함하도록 업데이트되었습니다. 보다 포괄적인 요청 추적을 위해 이 문자열을 AWS CloudTrail 로그와 함께 사용할 수 있습니다.

  • HBase

    • 포함된 HBASE-20447은 특히 분할된 리전과 함께 캐시 문제를 야기할 수 있는 문제를 해결합니다.

  • MXnet

    • OpenCV 라이브러리를 추가했습니다.

  • Spark

    • Spark가 EMRFS를 사용하여 Amazon S3 위치에 Parquet 파일을 쓸 때, FileOutputCommitter 알고리즘이 버전 1 대신 버전 2를 사용하도록 업데이트되었습니다. 따라서 이름 변경 횟수가 감소하여 애플리케이션 성능이 개선됩니다. 다음 애플리케이션에는 이 변경이 영향을 미치지 않습니다.

      • Spark 이외의 애플리케이션

      • HDFS(여전히 버전 1의 FileOutputCommitter를 사용)와 같이 다른 파일 시스템에 쓰는 애플리케이션

      • 텍스트 또는 csv 같이 이미 EMRFS 직접 쓰기를 사용하는 다른 출력 형식을 사용하는 애플리케이션

알려진 문제
  • JupyterHub

    • 클러스터를 생성할 때 구성 분류를 사용하여 JupyterHub 및 개별 Jupyter Notebook을 설정하는 것은 지원되지 않습니다. 각 사용자에 대해 수동으로 jupyterhub_config.py 파일 및 jupyter_notebook_config.py 파일을 편집하십시오. 자세한 내용은 JupyterHub 구성 섹션을 참조하세요.

    • JupyterHub는 프라이빗 서브넷 내의 클러스터에서 시작되지 않으며 Error: ENOENT: no such file or directory, open '/etc/jupyter/conf/server.crt' 메시지와 함께 실패합니다. 이는 자체 서명된 인증서를 생성하는 스크립트의 오류에 의해 야기됩니다. 다음 차선책을 사용하여 자체 서명된 인증서를 생성합니다. 모든 명령은 프라이머리 노드에 연결되어 있는 동안 실행됩니다.

      1. 컨테이너에서 프라이머리 노드로 인증서 생성 스크립트를 복사합니다.

        sudo docker cp jupyterhub:/tmp/gen_self_signed_cert.sh ./
      2. 아래와 같이 텍스트 편집기를 사용하여 23행을 변경하고 퍼블릭 호스트 이름을 로컬 호스트 이름으로 변경합니다.

        local hostname=$(curl -s $EC2_METADATA_SERVICE_URI/local-hostname)
      3. 스크립트를 실행하여 자체 서명된 인증서를 생성합니다.

        sudo bash ./gen_self_signed_cert.sh
      4. 스크립트가 생성하는 인증서 파일을 /etc/jupyter/conf/ 디렉터리로 이동합니다.

        sudo mv /tmp/server.crt /tmp/server.key /etc/jupyter/conf/

      JupyterHub의 재시작과 200 응답 코드의 반환을 확인하기 위해 jupyter.log 파일을 tail할 수 있습니다. 예:

      tail -f /var/log/jupyter/jupyter.log

      그러면 다음과 비슷한 응답이 돌아옵니다.

      # [I 2018-06-14 18:56:51.356 JupyterHub app:1581] JupyterHub is now running at https://:9443/ # 19:01:51.359 - info: [ConfigProxy] 200 GET /api/routes
  • 프라이머리 노드가 재부팅되거나 인스턴스 컨트롤러가 다시 시작된 후에는 CloudWatch 지표가 수집되지 않으며 Amazon EMR 버전 5.14.0, 5.15.0 또는 5.16.0에서는 자동 조정 기능을 사용할 수 없습니다. 이 문제는 Amazon EMR 5.17.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.0.1Amazon SageMaker Spark SDK
emr-ddb4.5.0하둡 에코시스템 애플리케이션용 Amazon DynamoDB 커넥터
emr-goodies2.4.0편리한 하둡 에코시스템용 추가 라이브러리
emr-kinesis3.4.0하둡 에코시스템 애플리케이션용 Amazon Kinesis 커넥터.
emr-s3-dist-cp2.10.0Amazon S3용으로 최적화된 분사 복사 애플리케이션.
emrfs2.23.0하둡 에코시스템 애플리케이션용 Amazon S3 커넥터.
flink-client1.4.2Apache Flink 명령줄 클라이언트 스크립트 및 애플리케이션
ganglia-monitor3.7.2하둡 에코시스템 애플리케이션용 내장형 Ganglia 에이전트와 Ganglia 모니터링 에이전트.
ganglia-metadata-collector3.7.2Ganglia 모니터링 에이전트의 측정치를 집계하기 위한 Ganglia 메타데이터 수집기.
ganglia-web3.7.1Ganglia 메타데이터 수집기에서 수집되는 측정치를 볼 수 있는 웹 애플리케이션.
hadoop-client2.8.3-amzn-1'hdfs', 'hadoop', 'yarn' 등과 같은 하둡 명령줄 클라이언트
hadoop-hdfs-datanode2.8.3-amzn-1블록을 저장하는 HDFS 노드 수준 서비스
hadoop-hdfs-library2.8.3-amzn-1HDFS 명령줄 클라이언트 및 라이브러리
hadoop-hdfs-namenode2.8.3-amzn-1파일 이름 및 블록 위치를 추적하는 HDFS 서비스
hadoop-httpfs-server2.8.3-amzn-1HDFS 작업에 대한 HTTP 엔드포인트
hadoop-kms-server2.8.3-amzn-1하둡의 KeyProvider API를 기반으로 하는 암호화 키 관리 서버
hadoop-mapred2.8.3-amzn-1MapReduce 애플리케이션을 실행하는 MapReduce 실행 엔진 라이브러리
hadoop-yarn-nodemanager2.8.3-amzn-1개별 노드의 컨테이너를 관리하는 YARN 서비스
hadoop-yarn-resourcemanager2.8.3-amzn-1클러스터 리소스 및 분산 애플리케이션을 할당 및 관리하는 YARN 서비스
hadoop-yarn-timeline-server2.8.3-amzn-1YARN 애플리케이션의 현재 및 기록 정보를 가져오는 서비스
hbase-hmaster1.4.2리전 조정 및 관리 명령의 실행을 담당하는 HBase 클러스터용 서비스
hbase-region-server1.4.2한 개 이상의 HBase 리전에 서비스를 제공하는 서비스
hbase-client1.4.2HBase 명령줄 클라이언트
hbase-rest-server1.4.2HBase용 RESTful HTTP 엔드포인트를 제공하는 서비스
hbase-thrift-server1.4.2HBase에 Thrift 엔드포인트를 제공하는 서비스
hcatalog-client2.3.2-amzn-2hcatalog-server를 조정하기 위한 'hcat' 명령줄 클라이언트
hcatalog-server2.3.2-amzn-2분산 애플리케이션용 스토리지 관리 계층, 테이블 및 HCatalog를 제공하는 서비스
hcatalog-webhcat-server2.3.2-amzn-2HCatalog에 REST 인터페이스를 제공하는 HTTP 엔드포인트
hive-client2.3.2-amzn-2Hive 명령줄 클라이언트
hive-hbase2.3.2-amzn-2Hive-hbase 클라이언트
hive-metastore-server2.3.2-amzn-2하둡 작업에 대한 SQL용 메타데이터가 저장되는 시맨틱 리포지토리인 Hive 메타스토어에 액세스하기 위한 서비스
hive-server22.3.2-amzn-2Hive 쿼리를 웹 요청으로 수락하기 위한 서비스
hue-server4.1.0하둡 에코시스템 애플리케이션을 사용하여 데이터를 분석하는 웹 애플리케이션.
jupyterhub0.8.1Jupyter Notebook용 다중 사용자 서버
livy-server0.4.0-incubatingApache Spark와 상호작용하기 위한 REST 인터페이스
mahout-client0.13.0머신 러닝을 위한 라이브러리.
mxnet1.1.0유연성, 확장성 및 효율성이 뛰어난 딥 러닝용 라이브러리.
mysql-server5.5.54+MySQL 데이터베이스 서버.
nvidia-cuda9.1.85Nvidia 드라이버와 Cuda 도구 키트
oozie-client4.3.0Oozie 명령줄 클라이언트
oozie-server4.3.0Oozie 워크플로 요청을 수락하는 서비스
opencv3.4.0오픈 소스 컴퓨터 비전 라이브러리.
phoenix-library4.13.0-HBase-1.4서버 및 클라이언트의 phoenix 라이브러리
phoenix-query-server4.13.0-HBase-1.4Avatica API에 대한 JSON 형식 액세스 및 프로토콜 버퍼 액세스를 비롯하여 JDBC 액세스를 제공하는 경량 서버
presto-coordinator0.194presto-worker의 쿼리를 수락하고 쿼리 실행을 관리하는 서비스.
presto-worker0.194여러 쿼리를 실행하는 서비스.
pig-client0.17.0Pig 명령줄 클라이언트.
r3.4.1통계 컴퓨팅용 R 프로젝트
spark-client2.3.0Spark 명령줄 클라이언트.
spark-history-server2.3.0완료된 Spark 애플리케이션의 수명에 대해 기록된 이벤트를 조회하는 웹 UI.
spark-on-yarn2.3.0YARN용 인 메모리 실행 엔진.
spark-yarn-slave2.3.0YARN 슬레이브에서 필요한 Apache Spark 라이브러리.
sqoop-client1.4.7Apache Sqoop 명령줄 클라이언트.
tez-on-yarn0.8.4tez YARN 애플리케이션 및 라이브러리.
webserver2.4.25+Apache HTTP 서버.
zeppelin-server0.7.3대화형 데이터 분석이 가능한 웹 기반 노트북
zookeeper-server3.4.10구성 정보 유지 관리, 이름 지정, 분산 동기화 제공 및 그룹 서비스 제공을 위한 중앙 집중식 서비스.
zookeeper-client3.4.10ZooKeeper 명령줄 클라이언트.

구성 분류

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

emr-5.14.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-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-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-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 파일의 값을 변경합니다.

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 파일의 값을 변경합니다.