本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon EMR 5.14.0 版
5.14.0 應用程式版本
此版本包含下列應用程式:Flink
下表列出此 Amazon EMR 版本中提供的應用程式版本,以及前三個 Amazon EMR 版本 (如果適用) 中的應用程式版本。
如需完整了解各 Amazon EMR 版之應用程式版本的完整歷史記錄,請參閱以下主題:
| emr-5.14.0 | emr-5.13.1 | emr-5.13.0 | emr-5.12.3 | |
|---|---|---|---|---|
| AWS 適用於 Java 的 SDK | 1.11.297 | 1.11.297 | 1.11.297 | 1.11.267 |
| Python | 2.7、3.4 | 2.7、3.4 | 2.7、3.4 | 2.7、3.4 |
| Scala | 2.11.8 | 2.11.8 | 2.11.8 | 2.11.8 |
| AmazonCloudWatchAgent | - | - | - | - |
| Delta | - | - | - | - |
| Flink | 1.4.2 | 1.4.0 | 1.4.0 | 1.4.0 |
| Ganglia | 3.7.2 | 3.7.2 | 3.7.2 | 3.7.2 |
| HBase | 1.4.2 | 1.4.2 | 1.4.2 | 1.4.0 |
| HCatalog | 2.3.2-amzn-2 | 2.3.2-amzn-2 | 2.3.2-amzn-2 | 2.3.2-amzn-1 |
| Hadoop | 2.8.3-amzn-0 | 2.8.3-amzn-0 | 2.8.3-amzn-0 | 2.8.3-amzn-0 |
| Hive | 2.3.2-amzn-2 | 2.3.2-amzn-2 | 2.3.2-amzn-2 | 2.3.2-amzn-1 |
| Hudi | - | - | - | - |
| Hue | 4.1.0 | 4.1.0 | 4.1.0 | 4.1.0 |
| Iceberg | - | - | - | - |
| JupyterEnterpriseGateway | - | - | - | - |
| JupyterHub | 0.8.1 | - | - | - |
| Livy | 0.4.0-incubating | 0.4.0-incubating | 0.4.0-incubating | 0.4.0-incubating |
| MXNet | 1.1.0 | 1.0.0 | 1.0.0 | 1.0.0 |
| Mahout | 0.13.0 | 0.13.0 | 0.13.0 | 0.13.0 |
| Oozie | 4.3.0 | 4.3.0 | 4.3.0 | 4.3.0 |
| Phoenix | 4.13.0-HBase-1.4 | 4.13.0-HBase-1.4 | 4.13.0-HBase-1.4 | 4.13.0-HBase-1.4 |
| Pig | 0.17.0 | 0.17.0 | 0.17.0 | 0.17.0 |
| Presto | 0.194 | 0.194 | 0.194 | 0.188 |
| Spark | 2.3.0 | 2.3.0 | 2.3.0 | 2.2.1 |
| Sqoop | 1.4.7 | 1.4.6 | 1.4.6 | 1.4.6 |
| TensorFlow | - | - | - | - |
| Tez | 0.8.4 | 0.8.4 | 0.8.4 | 0.8.4 |
| Trino (PrestoSQL) | - | - | - | - |
| Zeppelin | 0.7.3 | 0.7.3 | 0.7.3 | 0.7.3 |
| ZooKeeper | 3.4.10 | 3.4.10 | 3.4.10 | 3.4.10 |
5.14.0 版本備註
以下版本備註包含 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 將 Parquet 檔案寫入至 Amazon S3 位置時,FileOutputCommitter 演算法已更新為使用版本 2,而非版本 1。這可減少重新命名數量,進而提升應用程式效能。此變更不會影響:
-
Spark 以外的應用程式。
-
寫入其他檔案系統的應用程式,例如 HDFS (仍使用 FileOutputCommitter 版本 1)。
-
使用其他輸入格式 (例如文字格式或 csv) 的應用程式,這些格式已使用 EMRFS 直接寫入。
-
-
已知問題
-
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'。這是由指令碼中產生自我簽署憑證的錯誤所致。使用以下解決辦法來產生自我簽署的憑證。所有命令都在連線至主節點時執行。從容器複製憑證產生指令碼到主節點。
sudo docker cp jupyterhub:/tmp/gen_self_signed_cert.sh ./使用文字編輯器以變更第 23 列,將公開主機名稱變更為本機主機名稱,如下所示:
localhostname=$(curl -s $EC2_METADATA_SERVICE_URI/local-hostname)執行指令碼以產生自我簽署憑證:
sudo bash ./gen_self_signed_cert.sh將指令碼產生的憑證檔案移至
/etc/jupyter/conf/目錄:sudo mv /tmp/server.crt /tmp/server.key /etc/jupyter/conf/
您可以對
jupyter.log檔案執行tail,以驗證 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
-
-
主節點或執行個體控制器重新啟動後,Amazon EMR 版本 5.14.0、5.15.0 或 5.16.0 中將不會收集 CloudWatch 指標,也不提供自動擴展功能。此問題已在 Amazon EMR 5.17.0 中修正。
5.14.0 元件版本
Amazon EMR 在此版本安裝的元件列出如下。其中有一些屬於大數據應用程式套件。其他的則為 Amazon EMR 獨有,並安裝為系統程序和功能。這些通常會以 emr 或 aws 開頭。在最新 Amazon EMR 版本中的大數據應用程式套件,通常也是社群中可找到的最新版本。我們致力盡快提供 Amazon EMR 的社群版本。
Amazon EMR 中的某些元件與社群版本不同。這些元件具有版本標籤,格式為 。CommunityVersion-amzn-EmrVersion 從 0 開始。例如,假設有一個名為 EmrVersionmyapp-component 的開放原始碼社群元件 2.2 版為了包含在不同 Amazon EMR 發行版本中而修改過三次,則其發行版本會列為 2.2-amzn-2。
| 元件 | 版本 | 描述 |
|---|---|---|
| aws-sagemaker-spark-sdk | 1.0.1 | Amazon SageMaker Spark SDK |
| emr-ddb | 4.5.0 | 適用於 Hadoop 生態系統應用程式的 Amazon DynamoDB 連接器。 |
| emr-goodies | 2.4.0 | 適用 Hadoop 生態系統的超便利程式庫。 |
| emr-kinesis | 3.4.0 | 適用於 Hadoop 生態系統應用程式的 Amazon Kinesis 連接器。 |
| emr-s3-dist-cp | 2.10.0 | 針對 Amazon S3 最佳化的分散式複製應用程式。 |
| emrfs | 2.23.0 | 適用於 Hadoop 生態系統應用程式的 Amazon S3 連接器。 |
| flink-client | 1.4.2 | 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.3-amzn-1 | Hadoop 命令列用戶端,例如「hdfs」、「Hadoop」或「yarn」。 |
| hadoop-hdfs-datanode | 2.8.3-amzn-1 | 用於存放區塊的 HDFS 節點層級服務。 |
| hadoop-hdfs-library | 2.8.3-amzn-1 | HDFS 命令列用戶端和程式庫 |
| hadoop-hdfs-namenode | 2.8.3-amzn-1 | 用於追蹤檔案名稱和區塊位置的 HDFS 服務。 |
| hadoop-httpfs-server | 2.8.3-amzn-1 | HDFS 操作的 HTTP 端點。 |
| hadoop-kms-server | 2.8.3-amzn-1 | 以 Hadoop 金鑰供應商 API 為基礎的加密金鑰管理伺服器。 |
| hadoop-mapred | 2.8.3-amzn-1 | 執行 MapReduce 應用程式的 MapReduce 執行引擎程式庫。 |
| hadoop-yarn-nodemanager | 2.8.3-amzn-1 | 在個別節點用於管理容器的 YARN 服務。 |
| hadoop-yarn-resourcemanager | 2.8.3-amzn-1 | 用於分配和管理叢集資源,以及分散式應用程式的 YARN 服務。 |
| hadoop-yarn-timeline-server | 2.8.3-amzn-1 | 為 YARN 應用程式擷取目前和歷史資訊的服務。 |
| hbase-hmaster | 1.4.2 | 負責區域協調和執行管理命令的 HBase 叢集服務。 |
| hbase-region-server | 1.4.2 | 提供一或多個 HBase 區域的服務。 |
| hbase-client | 1.4.2 | HBase 命令列用戶端。 |
| hbase-rest-server | 1.4.2 | 為 HBase 提供 RESTful HTTP 端點的服務。 |
| hbase-thrift-server | 1.4.2 | 提供 Thrift 端點到 HBase 的服務。 |
| hcatalog-client | 2.3.2-amzn-2 | 操作 hcatalog-server 的「hcat」命令列用戶端。 |
| hcatalog-server | 2.3.2-amzn-2 | 服務為分散式應用程式提供 HCatalog、表格和儲存管理層。 |
| hcatalog-webhcat-server | 2.3.2-amzn-2 | HTTP 端點提供了 REST 介面至 HCatalog。 |
| hive-client | 2.3.2-amzn-2 | Hive 命令列用戶端。 |
| hive-hbase | 2.3.2-amzn-2 | Hive-hbase 用戶端。 |
| hive-metastore-server | 2.3.2-amzn-2 | 為 Hadoop 操作的 SQL 提供存取 Hive 中繼儲存、存放中繼資料語意儲存庫的服務。 |
| hive-server2 | 2.3.2-amzn-2 | 依 Web 請求接受 Hive 查詢的服務。 |
| hue-server | 4.1.0 | 使用 Hadoop 生態系統應用程式分析資料的 Web 應用程式 |
| jupyterhub | 0.8.1 | 適用於 Jupyter 筆記本的多使用者伺服器 |
| livy-server | 0.4.0-incubating | 與 Apache Spark 互動的 REST 介面 |
| mahout-client | 0.13.0 | 機器學習程式庫。 |
| mxnet | 1.1.0 | 靈活有效率的程式庫,具可擴展性,適用於深度學習。 |
| mysql-server | 5.5.54+ | MySQL 資料庫伺服器。 |
| nvidia-cuda | 9.1.85 | Nvidia 驅動程式和 Cuda 工具組 |
| oozie-client | 4.3.0 | Oozie 命令列用戶端。 |
| oozie-server | 4.3.0 | 接受 Oozie 工作流程要求的服務。 |
| opencv | 3.4.0 | 開放原始碼電腦 Vision 程式庫。 |
| phoenix-library | 4.13.0-HBase-1.4 | 適用於伺服器和用戶端的 phoenix 程式庫 |
| phoenix-query-server | 4.13.0-HBase-1.4 | 此為一輕量伺服器,可提供對 Avatica API 的 JDBC 存取以及通訊協定緩衝區和 JSON 格式存取 |
| presto-coordinator | 0.194 | 在 presto-workers 之間接受查詢和執行管理查詢的服務。 |
| presto-worker | 0.194 | 執行查詢各部分的服務。 |
| pig-client | 0.17.0 | Pig 命令列用戶端。 |
| r | 3.4.1 | 統計運算 R 專案 |
| spark-client | 2.3.0 | Spark 命令列用戶端。 |
| spark-history-server | 2.3.0 | 用於檢視完整 Spark 應用程式生命週期記錄事件的 Web 使用者介面。 |
| spark-on-yarn | 2.3.0 | 適用於 YARN 的記憶體內執行引擎。 |
| spark-yarn-slave | 2.3.0 | YARN 從屬所需的 Apache Spark 程式庫。 |
| sqoop-client | 1.4.7 | Apache Sqoop 命令列用戶端。 |
| tez-on-yarn | 0.8.4 | tez YARN 應用程式和程式庫。 |
| webserver | 2.4.25+ | Apache HTTP 伺服器。 |
| zeppelin-server | 0.7.3 | 能進行互動式資料分析,以 Web 為基礎的筆記型電腦。 |
| zookeeper-server | 3.4.10 | 用於維護組態資訊、命名、提供分散式同步,並提供群組服務的集中化服務。 |
| zookeeper-client | 3.4.10 | ZooKeeper 命令列用戶端。 |
5.14.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 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 | 變更 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 | 變更 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 | 變更 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 檔案的值。 |