本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon 5.26.0 EMR版
5.26.0 應用程式版本
此版本支援下列應用程式: Flink
下表列出此版本 Amazon 中可用的應用程式版本,EMR以及前三個 Amazon EMR版本 (如適用) 中的應用程式版本。
如需每個 Amazon 版本應用程式版本的完整歷史記錄EMR,請參閱下列主題:
emr-5.26.0 | emr-5.25.0 | emr-5.24.1 | emr-5.24.0 | |
---|---|---|---|---|
AWS SDK 適用於 Java | 1.11.595 | 1.11.566 | 1.11.546 | 1.11.546 |
Python | 2.7、3.6 | 2.7、3.6 | 2.7、3.6 | 2.7、3.6 |
Scala | 2.11.12 | 2.11.12 | 2.11.12 | 2.11.12 |
AmazonCloudWatchAgent | - | - | - | - |
Delta | - | - | - | - |
Flink | 1.8.0 | 1.8.0 | 1.8.0 | 1.8.0 |
Ganglia | 3.7.2 | 3.7.2 | 3.7.2 | 3.7.2 |
HBase | 1.4.10 | 149 | 149 | 149 |
HCatalog | 2.3.5 | 2.3.5 | 2.3.4 | 2.3.4 |
Hadoop | 2.8.5 | 2.8.5 | 2.8.5 | 2.8.5 |
Hive | 2.3.5 | 2.3.5 | 2.3.4 | 2.3.4 |
Hudi | - | - | - | - |
Hue | 4.4.0 | 4.4.0 | 4.4.0 | 4.4.0 |
Iceberg | - | - | - | - |
JupyterEnterpriseGateway | - | - | - | - |
JupyterHub | 0.9.6 | 0.9.6 | 0.9.6 | 0.9.6 |
Livy | 0.6.0 | 0.6.0 | 0.6.0 | 0.6.0 |
MXNet | 1.4.0 | 1.4.0 | 1.4.0 | 1.4.0 |
Mahout | 0.13.0 | 0.13.0 | 0.13.0 | 0.13.0 |
Oozie | 5.1.0 | 5.1.0 | 5.1.0 | 5.1.0 |
Phoenix | 4.14.2 | 4.14.1 | 4.14.1 | 4.14.1 |
Pig | 0.17.0 | 0.17.0 | 0.17.0 | 0.17.0 |
Presto | 0.220 | 0.220 | 0.219 | 0.219 |
Spark | 2.4.3 | 2.4.3 | 2.4.2 | 2.4.2 |
Sqoop | 1.4.7 | 1.4.7 | 1.4.7 | 1.4.7 |
TensorFlow | 1.13.1 | 1.13.1 | 1.12.0 | 1.12.0 |
Tez | 0.9.2 | 0.9.2 | 0.9.1 | 0.9.1 |
Trino (Presto SQL) | - | - | - | - |
Zeppelin | 0.8.1 | 0.8.1 | 0.8.1 | 0.8.1 |
ZooKeeper | 3.4.14 | 3.4.14 | 3.4.13 | 3.4.13 |
5.26.0 版本備註
下列版本備註包含 Amazon 5.26.0 EMR版的資訊。變更是相對於 5.25.0 版而言。
初始版本日期:2019 年 8 月 8 日
上次更新日期:2019 年 8 月 19 日
升級
AWS SDK for Java 1.11.595
HBase 1.4.10
Phoenix 4.14.2
-
連接器和驅動程式:
DynamoDB 連接器 4.11.0
MariaDB 連接器 2.4.2
Amazon Redshift JDBC驅動程式 1.2.32.1056
新功能
(Beta) 使用 Amazon EMR 5.26.0,您可以啟動與 Lake Formation 整合的叢集。此整合提供精細的資料欄層級存取 AWS Glue Data Catalog 中的資料庫和資料表。它也啟用聯合單一登入,以從企業身分系統登入EMR筆記本或 Apache Zeppelin。如需詳細資訊,請參閱將 Amazon EMR與 AWS Lake Formation (Beta) 整合。
(2019 年 8 月 19 日) Amazon EMR區塊公有存取現在可用於支援安全群組的所有 Amazon EMR版本。封鎖公開存取是套用於每個 AWS 區域的全帳戶設定。封鎖公有存取可防止叢集在與叢集相關聯的任何安全群組具有允許連接埠上 0.0.0.0/0 IPv4 或 IPv6 ::/0 (公有存取) 傳入流量的規則時啟動叢集,除非連接埠指定為例外狀況。連接埠 22 預設為例外。如需詳細資訊,請參閱 Amazon 管理指南 中的使用 Amazon EMR Block Public Access。 EMR
變更、強化功能和已解決的問題
-
EMR 筆記本
-
使用 EMR 5.26.0 及更新版本,EMR筆記本除了預設 Python 程式庫之外,還支援筆記本範圍的 Python 程式庫。您可以從筆記本編輯器中安裝筆記本範圍程式庫,而不必重新建立叢集或將筆記本重新附接至叢集。筆記本範圍程式庫是在 Python 虛擬環境中建立的,因此它們僅套用至目前的筆記本工作階段。這可讓您隔離筆記本的相依性。如需詳細資訊,請參閱 Amazon EMR管理指南 中的使用筆記本範圍程式庫。
-
-
EMRFS
-
您可以將
fs.s3.consistent.metadata.etag.verification.enabled
設定為 以啟用ETag驗證功能 (Beta)true
。透過此功能, EMRFS使用 Amazon S3 來ETags驗證正在讀取的物件是否為最新的可用版本。此功能有助於 read-after-update在保留相同名稱的同時覆寫 Amazon S3 上的檔案的使用案例。此ETag驗證功能目前不適用於 S3 Select。如需詳細資訊,請參閱設定一致檢視。
-
Spark
下列最佳化現在預設為啟用:在 DISTINCT之前進行動態分割區剪除INTERSECT、改善 的SQL計畫統計推論JOIN,隨後進行DISTINCT查詢、扁平化純量子查詢、最佳化聯結重新排序和繁複篩選聯結。如需詳細資訊,請參閱優化 Spark 效能。
為「排序、合併、聯結」改進整階段程式碼產生。
改進查詢片段和子查詢重複使用。
對 Spark 啟動時的預先分配執行器進行改進。
當聯結較小一側包含廣播提示時,不會再套用 Bloom 篩選條件聯結。
-
Tez
-
解決一個 Tez 問題。Tez UI 現在可在具有多個主要節點的 Amazon EMR叢集上運作。
-
已知問題
-
改進後的「排序、合併、聯結」整階段程式碼產生功能在啟用時可能升高記憶體壓力。此優化可改善效能,但如果未調整
spark.yarn.executor.memoryOverheadFactor
以提供足夠的記憶體,則可能會導致作業重試或失敗。若要停用此功能,請將spark.sql.sortMergeJoinExec.extendedCodegen.enabled
設為 false。 -
使用多個主節點和 Kerberos 身分驗證的叢集中存在的已知問題
如果您在 Amazon 5.20.0 版及更新EMR版本中執行具有多個主節點和 Kerberos 身分驗證的叢集,在叢集執行一段時間之後,您可能會遇到叢集操作的問題,例如縮減規模或提交步驟。時段取決於您定義的 Kerberos 票證有效期。規模調減問題會同時影響自動縮減規模和您提交的明確縮減規模請求。其他叢集操作也可能受影響。
解決方法:
-
SSH 作為具有多個主要節點之EMR叢集的主要節點
hadoop
的使用者。 -
執行以下命令,以更新
hadoop
使用者的 Kerberos 票證。kinit -kt <keytab_file> <principal>
一般而言,Keytab 檔案位於
/etc/hadoop.keytab
,而主體則採用hadoop/<hostname>@<REALM>
的形式。
注意
此解決辦法的有效期間和 Kerberos 票證的有效期間相同。此持續時間預設為 10 個小時,但可以透過您的 Kerberos 設定進行變更。若 Kerberos 票證過期,您必須重新執行上述命令。
-
5.26.0 元件版本
Amazon 使用此版本EMR安裝的元件如下所列。其中有一些屬於大數據應用程式套件。其他則對 Amazon 而言是獨一無二的EMR,並針對系統程序和功能進行安裝。這些通常會以 emr
或 aws
開頭。Amazon EMR最新版本中的大數據應用程式套件通常是社群中發現的最新版本。我們EMR盡快在 Amazon 中提供社群版本。
Amazon 中的某些元件與社群版本EMR不同。這些元件具有版本標籤,格式為
。CommunityVersion
-amzn-EmrVersion
從 0 開始。例如,如果使用 2.2 版命名EmrVersion
myapp-component
的開放原始碼社群元件已修改三次,以包含在不同的 Amazon EMR版本中,則其發行版本會列為 2.2-amzn-2
。
元件 | 版本 | 描述 |
---|---|---|
aws-sagemaker-spark-sdk | 1.2.4 | Amazon SageMaker Spark SDK |
emr-ddb | 4.11.0 | 適用於 Hadoop 生態系統應用程式的 Amazon DynamoDB 連接器。 |
emr-goodies | 2.10.0 | 適用 Hadoop 生態系統的超便利程式庫。 |
emr-kinesis | 3.4.0 | 適用於 Hadoop 生態系統應用程式的 Amazon Kinesis 連接器。 |
emr-s3-dist-cp | 2.12.0 | 針對 Amazon S3 最佳化的分散式複製應用程式。 |
emr-s3-select | 1.3.0 | EMR S3Select 連接器 |
emrfs | 2.35.0 | 適用於 Hadoop 生態系統應用程式的 Amazon S3 連接器。 |
flink-client | 1.8.0 | Apache Flink 命令列用戶端指令碼和應用程式。 |
ganglia-monitor | 3.7.2 | Hadoop 生態系統應用程式內嵌 Ganglia 代理程式以及 Ganglia 監控代理程式。 |
ganglia-metadata-collector | 3.7.2 | Ganglia 監控代理程式的彙總指標 Ganglia 中繼資料收集器。 |
ganglia-web | 3.7.1 | 由 Ganglia 中繼資料收集器收集,以檢視指標的 Web 應用程式。 |
hadoop-client | 2.8.5-amzn-4 | Hadoop 命令列用戶端,例如「hdfs」、「Hadoop」或「yarn」。 |
hadoop-hdfs-datanode | 2.8.5-amzn-4 | HDFS 儲存區塊的節點層級服務。 |
hadoop-hdfs-library | 2.8.5-amzn-4 | HDFS command-line 用戶端和程式庫 |
hadoop-hdfs-namenode | 2.8.5-amzn-4 | HDFS 服務,用於追蹤檔案名稱和區塊位置。 |
hadoop-hdfs-journalnode | 2.8.5-amzn-4 | HDFS 服務,用於管理 HA 叢集上的 Hadoop 檔案系統日誌。 |
hadoop-httpfs-server | 2.8.5-amzn-4 | HTTP HDFS操作的端點。 |
hadoop-kms-server | 2.8.5-amzn-4 | 以 Hadoop 的 為基礎的密碼編譯金鑰管理伺服器 KeyProvider API。 |
hadoop-mapred | 2.8.5-amzn-4 | MapReduce 執行引擎程式庫,用於執行 MapReduce 應用程式。 |
hadoop-yarn-nodemanager | 2.8.5-amzn-4 | YARN 服務,用於管理個別節點上的容器。 |
hadoop-yarn-resourcemanager | 2.8.5-amzn-4 | YARN 服務,用於配置和管理叢集資源和分散式應用程式。 |
hadoop-yarn-timeline-server | 2.8.5-amzn-4 | 擷取YARN應用程式目前和歷史資訊的 服務。 |
hbase-hmaster | 1.4.10 | 負責協調區域和執行管理命令的HBase叢集的服務。 |
hbase-region-server | 1.4.10 | 服務一或多個HBase區域的服務。 |
hbase-client | 1.4.10 | HBase command-line 用戶端。 |
hbase-rest-server | 1.4.10 | 為 提供RESTfulHTTP端點的服務HBase。 |
hbase-thrift-server | 1.4.10 | 向 提供 Thrift 端點的服務HBase。 |
hcatalog-client | 2.3.5-amzn-0 | 操作 hcatalog-server 的「hcat」命令列用戶端。 |
hcatalog-server | 2.3.5-amzn-0 | 為分散式應用程式提供 HCatalog、資料表和儲存管理層的服務。 |
hcatalog-webhcat-server | 2.3.5-amzn-0 | HTTP 端點提供REST介面給 HCatalog。 |
hive-client | 2.3.5-amzn-0 | Hive 命令列用戶端。 |
hive-hbase | 2.3.5-amzn-0 | Hive-hbase 用戶端。 |
hive-metastore-server | 2.3.5-amzn-0 | 存取 Hive 中繼存放區的服務,這是在 Hadoop 操作SQL上儲存 中繼資料的語意儲存庫。 |
hive-server2 | 2.3.5-amzn-0 | 依 Web 請求接受 Hive 查詢的服務。 |
hue-server | 4.4.0 | 使用 Hadoop 生態系統應用程式分析資料的 Web 應用程式 |
jupyterhub | 0.9.6 | 適用於 Jupyter 筆記本的多使用者伺服器 |
livy-server | 0.6.0-incubating | REST 與 Apache Spark 互動的介面 |
nginx | 1.12.1 | nginx 【引擎 x】 是 HTTP和 反向代理伺服器 |
mahout-client | 0.13.0 | 機器學習程式庫。 |
mxnet | 1.4.0 | 靈活有效率的程式庫,具可擴展性,適用於深度學習。 |
mysql-server | 5.5.54+ | 我的SQL資料庫伺服器。 |
nvidia-cuda | 9.2.88 | Nvidia 驅動程式和 Cuda 工具組 |
oozie-client | 5.1.0 | Oozie 命令列用戶端。 |
oozie-server | 5.1.0 | 接受 Oozie 工作流程要求的服務。 |
opencv | 3.4.0 | 開放原始碼電腦 Vision 程式庫。 |
phoenix-library | 4.14.2-HBase-1.4 | 適用於伺服器和用戶端的 phoenix 程式庫 |
phoenix-query-server | 4.14.2-HBase-1.4 | 提供 Avatica JDBC存取權以及通訊協定緩衝區和JSON格式存取權的輕量型伺服器 API |
presto-coordinator | 0.220 | 在 presto-workers 之間接受查詢和執行管理查詢的服務。 |
presto-worker | 0.220 | 執行查詢各部分的服務。 |
pig-client | 0.17.0 | Pig 命令列用戶端。 |
r | 3.4.1 | 統計運算 R 專案 |
spark-client | 2.4.3 | Spark 命令列用戶端。 |
spark-history-server | 2.4.3 | 用於檢視完整 Spark 應用程式生命週期記錄事件的 Web 使用者介面。 |
spark-on-yarn | 2.4.3 | 的記憶體內執行引擎YARN。 |
spark-yarn-slave | 2.4.3 | 從屬所需的 Apache Spark YARN 程式庫。 |
sqoop-client | 1.4.7 | Apache Sqoop 命令列用戶端。 |
tensorflow | 1.13.1 | TensorFlow 適用於高效能數值運算的開放原始碼軟體程式庫。 |
tez-on-yarn | 0.9.2 | tez YARN 應用程式和程式庫。 |
webserver | 2.4.25+ | Apache HTTP 伺服器。 |
zeppelin-server | 0.8.1 | 能進行互動式資料分析,以 Web 為基礎的筆記型電腦。 |
zookeeper-server | 3.4.14 | 用於維護組態資訊、命名、提供分散式同步,並提供群組服務的集中化服務。 |
zookeeper-client | 3.4.14 | ZooKeeper 命令列用戶端。 |
5.26.0 組態類別
組態分類可讓您自訂應用程式。這些檔案通常對應於應用程式的組態XML檔案,例如 hive-site.xml
。如需詳細資訊,請參閱設定應用程式。
分類 | 描述 |
---|---|
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-s3-conf | 設定 Jupyter 筆記本 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 RecordServererver.properties 檔案中的值。 |
recordserver-log4j | 變更 EMR RecordServer的 log4j.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 檔案中的值。 |