Amazon 5.14.0 EMR版 - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon 5.14.0 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
AWS SDK 適用於 Java 1.11.2971.11.2971.11.2971.11.267
Python 2.7、3.42.7、3.42.7、3.42.7、3.4
Scala 2.11.82.11.82.11.82.11.8
AmazonCloudWatchAgent - - - -
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 (Presto SQL) - - - -
Zeppelin0.7.30.7.30.7.30.7.3
ZooKeeper3.4.103.4.103.4.103.4.10

5.14.0 版本備註

下列版本備註包含 Amazon 5.14.0 EMR版的資訊。變更是相對於 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 使用 將 Parquet 檔案寫入 Amazon S3 位置時EMRFS, FileOutputCommitter 演算法已更新為使用第 2 版而非第 1 版。這可減少重新命名數量,進而提升應用程式效能。此變更不會影響:

      • Spark 以外的應用程式。

      • 寫入其他檔案系統的應用程式,例如 HDFS(仍然使用 第 1 版 FileOutputCommitter)。

      • 使用其他已使用EMRFS直接寫入之輸出格式的應用程式,例如文字或 csv。

已知問題
  • JupyterHub

    • 當您建立叢集時,不支援使用組態分類來設定 JupyterHub 和個別 Jupyter 筆記本。手動編輯每個使用者的 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/

      您可以 tail jupyter.log 檔案來驗證 是否已 JupyterHub 重新啟動,並傳回 200 個回應碼。例如:

      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 5.14.0、5.15.0 或 5.16.0 EMR版中使用。此問題已在 Amazon EMR 5.17.0 中修正。

5.14.0 元件版本

Amazon 在此版本中EMR安裝的元件如下所列。其中有一些屬於大數據應用程式套件。其他則對 Amazon 而言是獨一無二的EMR,並針對系統程序和功能進行安裝。這些通常會以 emraws 開頭。Amazon EMR最新版本中的大數據應用程式套件通常是社群中發現的最新版本。我們EMR盡快在 Amazon 中提供社群版本。

Amazon 中的某些元件與社群版本EMR不同。這些元件具有版本標籤,格式為 CommunityVersion-amzn-EmrVersionEmrVersion 從 0 開始。例如,如果使用 2.2 版命名myapp-component的開放原始碼社群元件已修改三次,以包含在不同的 Amazon EMR版本中,則其發行版本會列為 2.2-amzn-2

元件 版本 描述
aws-sagemaker-spark-sdk1.0.1Amazon SageMaker Spark SDK
emr-ddb4.5.0適用於 Hadoop 生態系統應用程式的 Amazon DynamoDB 連接器。
emr-goodies2.4.0適用 Hadoop 生態系統的超便利程式庫。
emr-kinesis3.4.0適用於 Hadoop 生態系統應用程式的 Amazon Kinesis 連接器。
emr-s3-dist-cp2.10.0針對 Amazon S3 最佳化的分散式複製應用程式。
emrfs2.23.0適用於 Hadoop 生態系統應用程式的 Amazon S3 連接器。
flink-client1.4.2Apache Flink 命令列用戶端指令碼和應用程式。
ganglia-monitor3.7.2Hadoop 生態系統應用程式內嵌 Ganglia 代理程式以及 Ganglia 監控代理程式。
ganglia-metadata-collector3.7.2Ganglia 監控代理程式的彙總指標 Ganglia 中繼資料收集器。
ganglia-web3.7.1由 Ganglia 中繼資料收集器收集,以檢視指標的 Web 應用程式。
hadoop-client2.8.3-amzn-1Hadoop 命令列用戶端,例如「hdfs」、「Hadoop」或「yarn」。
hadoop-hdfs-datanode2.8.3-amzn-1HDFS 儲存區塊的節點層級服務。
hadoop-hdfs-library2.8.3-amzn-1HDFS command-line 用戶端和程式庫
hadoop-hdfs-namenode2.8.3-amzn-1HDFS 服務,用於追蹤檔案名稱和區塊位置。
hadoop-httpfs-server2.8.3-amzn-1HTTP HDFS操作的端點。
hadoop-kms-server2.8.3-amzn-1以 Hadoop 的 為基礎的密碼編譯金鑰管理伺服器 KeyProvider API。
hadoop-mapred2.8.3-amzn-1MapReduce 執行引擎程式庫,用於執行 MapReduce 應用程式。
hadoop-yarn-nodemanager2.8.3-amzn-1YARN 服務,用於管理個別節點上的容器。
hadoop-yarn-resourcemanager2.8.3-amzn-1YARN 服務,用於配置和管理叢集資源和分散式應用程式。
hadoop-yarn-timeline-server2.8.3-amzn-1用於擷取YARN應用程式目前和歷史資訊的 服務。
hbase-hmaster1.4.2負責協調區域和執行管理命令的HBase叢集的服務。
hbase-region-server1.4.2服務一或多個HBase區域的服務。
hbase-client1.4.2HBase command-line 用戶端。
hbase-rest-server1.4.2為 提供RESTfulHTTP端點的服務HBase。
hbase-thrift-server1.4.2向 提供 Thrift 端點的服務HBase。
hcatalog-client2.3.2-amzn-2操作 hcatalog-server 的「hcat」命令列用戶端。
hcatalog-server2.3.2-amzn-2為分散式應用程式提供 HCatalog、資料表和儲存管理層的服務。
hcatalog-webhcat-server2.3.2-amzn-2HTTP 端點提供REST介面給 HCatalog。
hive-client2.3.2-amzn-2Hive 命令列用戶端。
hive-hbase2.3.2-amzn-2Hive-hbase 用戶端。
hive-metastore-server2.3.2-amzn-2存取 Hive 中繼存放區的服務,這是在 Hadoop 操作SQL上儲存 中繼資料的語意儲存庫。
hive-server22.3.2-amzn-2依 Web 請求接受 Hive 查詢的服務。
hue-server4.1.0使用 Hadoop 生態系統應用程式分析資料的 Web 應用程式
jupyterhub0.8.1適用於 Jupyter 筆記本的多使用者伺服器
livy-server0.4.0-incubatingREST 與 Apache Spark 互動的介面
mahout-client0.13.0機器學習程式庫。
mxnet1.1.0靈活有效率的程式庫,具可擴展性,適用於深度學習。
mysql-server5.5.54+我的SQL資料庫伺服器。
nvidia-cuda9.1.85Nvidia 驅動程式和 Cuda 工具組
oozie-client4.3.0Oozie 命令列用戶端。
oozie-server4.3.0接受 Oozie 工作流程要求的服務。
opencv3.4.0開放原始碼電腦 Vision 程式庫。
phoenix-library4.13.0-HBase-1.4適用於伺服器和用戶端的 phoenix 程式庫
phoenix-query-server4.13.0-HBase-1.4提供 Avatica JDBC存取權以及通訊協定緩衝區和JSON格式存取權的輕量型伺服器 API
presto-coordinator0.194在 presto-workers 之間接受查詢和執行管理查詢的服務。
presto-worker0.194執行查詢各部分的服務。
pig-client0.17.0Pig 命令列用戶端。
r3.4.1統計運算 R 專案
spark-client2.3.0Spark 命令列用戶端。
spark-history-server2.3.0用於檢視完整 Spark 應用程式生命週期記錄事件的 Web 使用者介面。
spark-on-yarn2.3.0的記憶體內執行引擎YARN。
spark-yarn-slave2.3.0從屬所需的 Apache Spark YARN 程式庫。
sqoop-client1.4.7Apache Sqoop 命令列用戶端。
tez-on-yarn0.8.4tez YARN 應用程式和程式庫。
webserver2.4.25+Apache HTTP 伺服器。
zeppelin-server0.7.3能進行互動式資料分析,以 Web 為基礎的筆記型電腦。
zookeeper-server3.4.10用於維護組態資訊、命名、提供分散式同步,並提供群組服務的集中化服務。
zookeeper-client3.4.10ZooKeeper 命令列用戶端。

5.14.0 組態類別

組態分類可讓您自訂應用程式。這些檔案通常對應於應用程式的組態XML檔案,例如 hive-site.xml。如需詳細資訊,請參閱設定應用程式

emr-5.14.0 分類
分類 描述

capacity-scheduler

變更 Hadoop 中 capacity-scheduler.xml 檔案的值。

container-log4j

變更 Hadoop YARN的 container-log4j.properties 檔案中的值。

core-site

變更 Hadoop 中 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 環境中變更所有 Hadoop 元件的值。

hadoop-log4j

變更 Hadoop 中 log4j.properties 檔案的值。

hadoop-ssl-server

變更 hadoop ssl 伺服器組態

hadoop-ssl-client

變更 hadoop ssl 用戶端組態

hbase

Apache 的 Amazon EMR精選設定HBase。

hbase-env

變更 HBase環境中的值。

hbase-log4j

變更 HBasehbase-log4j.properties 檔案中的值。

hbase-metrics

變更 HBase的 hadoop-metrics2-hbase.properties 檔案中的值。

hbase-policy

變更 HBasehbase-policy.xml 檔案中的值。

hbase-site

變更 HBasehbase-site.xml 檔案中的值。

hdfs-encryption-zones

設定HDFS加密區域。

hdfs-site

變更 HDFShdfs-site.xml 中的值。

hcatalog-env

變更 HCatalog環境中的值。

hcatalog-server-jndi

變更 jndi.properties HCatalog中的值。

hcatalog-server-proto-hive-site

變更 HCatalog. proto-hive-sitexml 中的值。

hcatalog-webhcat-env

變更 HCatalog W ebHCat環境中的值。

hcatalog-webhcat-log4j2

變更 HCatalog W ebHCat的 log4j2.properties 中的值。

hcatalog-webhcat-site

變更 HCatalog W ebHCat的 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

變更 Hadoop 中 httpfs-site.xml 檔案的值。

hadoop-kms-acls

變更 Hadoop 中 kms-acls.xml 檔案的值。

hadoop-kms-env

變更 Hadoop KMS環境中的值。

hadoop-kms-log4j

變更 Hadoop 的 kms-log4j.properties 檔案中的值。

hadoop-kms-site

變更 Hadoop 中 kms-site.xml 檔案的值。

jupyter-notebook-conf

變更 Jupyter 筆記本中 jupyter_notebook_config.py 檔案的值。

jupyter-hub-conf

變更 JupyterHubsjupyterhub_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

變更 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

變更 ZooKeeperzoo.cfg 檔案中的值。

zookeeper-log4j

變更 ZooKeeper的 log4j.properties 檔案中的值。