Rilascio 5.22.0 di Amazon EMR - Amazon EMR

Rilascio 5.22.0 di Amazon EMR

Versioni delle applicazioni

In questo rilascio sono supportate le seguenti applicazioni: Flink, Ganglia, HBase, HCatalog, Hadoop, Hive, Hue, JupyterHub, Livy, MXNet, Mahout, Oozie, Phoenix, Pig, Presto, Spark, Sqoop, TensorFlow, Tez, Zeppelin e ZooKeeper.

La seguente tabella elenca le versioni dell'applicazione disponibili in questo rilascio di Amazon EMR e quelle nei precedenti tre rilasci di Amazon EMR (quando applicabile).

Per la cronologia completa delle versioni dell'applicazione di ogni rilascio di Amazon EMR, fai riferimento ai seguenti argomenti:

Informazioni sulla versione dell'applicazione
emr-5.22.0 emr-5.21.2 emr-5.21.1 emr-5.21.0
SDK AWS per Java 1.11.5101.11.4791.11.4791.11.479
Python 2.7, 3.62.7, 3.62.7, 3.62.7, 3.6
Scala Non disponibileNon disponibileNon disponibileNon disponibile
Delta - - - -
Flink1.7.11.7.01.7.01.7.0
Ganglia3.7.23.7.23.7.23.7.2
HBase1.4.91.4.81.4.81.4.8
HCatalog2.3.42.3.42.3.42.3.4
Hadoop2.8.52.8.52.8.52.8.5
Hive2.3.42.3.42.3.42.3.4
Hudi - - - -
Hue4.3.04.3.04.3.04.3.0
Iceberg - - - -
JupyterEnterpriseGateway - - - -
JupyterHub0.9.40.9.40.9.40.9.4
Livy0.5.00.5.00.5.00.5.0
MXNet1.3.11.3.11.3.11.3.1
Mahout0.13.00.13.00.13.00.13.0
Oozie5.1.05.0.05.0.05.0.0
Phoenix4.14.14.14.04.14.04.14.0
Pig0.17.00.17.00.17.00.17.0
Presto0.2150.2150.2150.215
Spark2.4.02.4.02.4.02.4.0
Sqoop1.4.71.4.71.4.71.4.7
TensorFlow1.12.01.12.01.12.01.12.0
Tez0.9.10.9.10.9.10.9.1
Trino (PrestoSQL) - - - -
Zeppelin0.8.10.8.00.8.00.8.0
ZooKeeper3.4.133.4.133.4.133.4.13

Note di rilascio

Le seguenti note di rilascio includono informazioni relative al rilascio di Amazon EMR 5.22.0. Le modifiche sono relative alla versione 5.21.0.

Importante

A partire da Amazon EMR rilascio 5.22.0, Amazon EMR utilizza AWS Signature Version 4 esclusivamente per autenticare le richieste inviate ad Amazon S3. I rilasci precedenti di Amazon EMR impiegano AWS Signature Version 2 in alcuni casi, a meno che le note di rilascio indichino l'utilizzo esclusivo di Signature Version 4. Per ulteriori informazioni, consulta Autenticazione delle richieste (AWS Signature Version 4) e Autenticazione delle richieste (AWS Signature Version 2) nella Guida per gli sviluppatori di Amazon Simple Storage.

Data del rilascio iniziale: 20 marzo 2019

Aggiornamenti
  • Flink 1.7.1

  • HBase 1.4.9

  • Oozie 5.1.0

  • Phoenix 4.14.1

  • Zeppelin 0.8.1

  • Connettori e driver:

    • DynamoDB Connector 4.8.0

    • MariaDB Connector 2.2.6

    • Driver JDBC Amazon Redshift 1.2.20.1043

Nuove funzionalità di
  • Modificata la configurazione EBS predefinita per i tipi di istanza EC2 con archiviazione solo EBS. Quando crei un cluster utilizzando Amazon EMR rilascio 5.22.0 e successivi, la quantità di archiviazione EBS predefinita aumenta in base alle dimensioni dell'istanza. Inoltre, l'archiviazione aumentata viene divisa su più volumi, offrendo migliori prestazioni IOPS. Se desideri utilizzare una configurazione dello storage delle istanze EBS diversa, puoi specificarla al momento della creazione di un cluster EMR o aggiungere nodi a un cluster esistente. Per ulteriori informazioni sulla quantità di archiviazione e sul numero di volumi allocati per impostazione predefinita per ciascun tipo di istanza, consulta Archiviazione EBS di default per istanze nella Guida alla gestione di Amazon EMR.

Modifiche, miglioramenti e problemi risolti
  • Spark

    • Introdotta una nuova proprietà di configurazione per Spark su YARN, spark.yarn.executor.memoryOverheadFactor. Il valore di questa proprietà è un fattore di scala che imposta il valore del sovraccarico della memoria su una percentuale di memoria dell'executor, con un minimo di 384 MB. Se l'overhead della memoria è impostato esplicitamente utilizzando spark.yarn.executor.memoryOverhead, questa proprietà non ha effetto. Il valore predefinito è 0.1875, che rappresenta il 18,75%. Questo valore predefinito per Amazon EMR lascia più spazio nei container YARN per l'overhead della memoria dell'executor rispetto al 10% predefinito impostato internamente da Spark. L'impostazione predefinita di Amazon EMR del 18,75% ha mostrato un minor numero di errori relativi alla memoria nei benchmark TPC-DS.

    • Backport di SPARK-26316 per migliorare le prestazioni.

  • In Amazon EMR versione 5.19.0, 5.20.0 e 5.21.0, le etichette dei nodi YARN sono memorizzate in una directory HDFS. In alcune situazioni, questo porta a ritardi di avvio del nodo principale e quindi causa il timeout del cluster e l'errore di avvio. A partire da Amazon EMR 5.22.0, questo problema è stato risolto. Le etichette dei nodi YARN sono memorizzate sul disco locale di ciascun nodo cluster, evitando dipendenze da HDFS.

Problemi noti
  • Hue (corretto in Amazon EMR rilascio 5.24.0)

    • Hue in esecuzione su Amazon EMR non supporta Solr. A partire da Amazon EMR rilascio 5.20.0, un problema di configurazione errata causa l'attivazione di Solr e un messaggio di errore innocuo simile al seguente:

      Solr server could not be contacted properly: HTTPConnectionPool('host=ip-xx-xx-xx-xx.ec2.internal', port=1978): Max retries exceeded with url: /solr/admin/info/system?user.name=hue&doAs=administrator&wt=json (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',))

      Per evitare che venga visualizzato il messaggio di errore Solr:

      1. Effettua la connessione alla linea di comando del nodo primario tramite SSH.

      2. Aprire il file hue.ini con un editor di testo. Ad esempio:

        sudo vim /etc/hue/conf/hue.ini

      3. Cerca il termine appblacklist e modifica la riga nel modo seguente:

        appblacklist = search
      4. Salva le modifiche e riavvia Hue come nell'esempio seguente:

        sudo stop hue; sudo start hue
  • Problema noto nei cluster con più nodi primari e autenticazione Kerberos

    Se esegui cluster con più nodi primari e autenticazione Kerberos nella versione 5.20.0 di Amazon EMR e successivi, è possibile che si verifichino problemi con le operazioni del cluster, quali la riduzione o l'invio di fasi, dopo che il cluster è rimasto in esecuzione per un certo periodo di tempo. Il periodo di tempo dipende dal periodo di validità del ticket Kerberos definito dall'utente. Il problema di dimensionamento verso il basso influisce sia sulle richieste di scalabilità automatica che sulle richieste esplicite di dimensionamento verso il basso inviate dall'utente. Possono essere influenzate anche le operazioni cluster aggiuntive.

    Soluzione alternativa:

    • Abilita SSH come utente hadoop al primo nodo primario del cluster EMR con più nodi primari.

    • Esegui il comando seguente per rinnovare il ticket Kerberos per l'utente hadoop.

      kinit -kt <keytab_file> <principal>

      In genere, il file keytab si trova in /etc/hadoop.keytab e l'entità principale si presenta nella forma di hadoop/<hostname>@<REALM>.

    Nota

    Questa soluzione alternativa sarà valida per il periodo di tempo in cui il ticket Kerberos è valido. La durata è di 10 ore per impostazione predefinita, ma può essere configurata dalle impostazioni Kerberos. È necessario eseguire nuovamente il comando sopra indicato una volta scaduto il ticket Kerberos.

Versioni dei componenti

I componenti che Amazon EMR installa con questo rilascio sono elencati di seguito. Alcuni sono installati come parte di pacchetti di applicazione dei big data. Altri sono specifici per Amazon EMR e installati per processi e caratteristiche del sistema. Questi solitamente iniziano con emr o aws. I pacchetti di applicazione sui Big data del rilascio di Amazon EMR più recente sono di solito le versioni più recenti reperibili nella community. Mettiamo a disposizione i rilasci della community in Amazon EMR il più rapidamente possibile.

Alcuni componenti in Amazon EMR differiscono dalle versioni della community. Tali componenti hanno un'etichetta che indica la versione nel modulo CommunityVersion-amzn-EmrVersion. EmrVersion inizia da 0. Ad esempio, se un componente della community open source denominato myapp-component con versione 2.2 è stato modificato tre volte per essere incluso in rilasci diversi di Amazon EMR, tale versione di rilascio si presenta come 2.2-amzn-2.

Componente Versione Descrizione
aws-sagemaker-spark-sdk1.2.1SDK Spark Amazon SageMaker
emr-ddb4.8.0Connettore di Amazon DynamoDB per le applicazioni dell'ecosistema Hadoop.
emr-goodies2.6.0Librerie utili per l'ecosistema Hadoop.
emr-kinesis3.4.0Connettore di Amazon Kinesis per le applicazioni dell'ecosistema Hadoop.
emr-s3-dist-cp2.11.0Applicazione di copia distribuita ottimizzata per Amazon S3.
emr-s3-select1.2.0Connettore di EMR S3Select
emrfs2.31.0Connettore di Amazon S3 per le applicazioni dell'ecosistema Hadoop.
flink-client1.7.1Applicazioni e script client a riga di comando Apache Flink.
ganglia-monitor3.7.2Agente Ganglia integrato per le applicazioni dell'ecosistema Hadoop con l'agente di monitoraggio Ganglia.
ganglia-metadata-collector3.7.2Raccoglitore di metadati Ganglia per l'aggregazione di parametri degli agenti di monitoraggio Ganglia.
ganglia-web3.7.1Applicazione Web per la visualizzazione di parametri raccolti dal raccoglitore di metadati Ganglia.
hadoop-client2.8.5-amzn-2Client di riga di comando Hadoop, ad esempio "hdfs", "hadoop" o "yarn".
hadoop-hdfs-datanode2.8.5-amzn-2Servizio a livello di nodo HDFS per lo storage di blocchi.
hadoop-hdfs-library2.8.5-amzn-2Libreria e client di riga di comando HDFS
hadoop-hdfs-namenode2.8.5-amzn-2Servizio HDFS per tenere traccia dei nomi di file e delle posizioni dei blocchi.
hadoop-httpfs-server2.8.5-amzn-2Endpoint HTTP per le operazioni HDFS.
hadoop-kms-server2.8.5-amzn-2Server di gestione delle chiavi di crittografia basato sull'API KeyProvider di Hadoop.
hadoop-mapred2.8.5-amzn-2Librerie del motore di esecuzione MapReduce per l'esecuzione di un'applicazione MapReduce.
hadoop-yarn-nodemanager2.8.5-amzn-2Servizio YARN per la gestione di container su un singolo nodo.
hadoop-yarn-resourcemanager2.8.5-amzn-2Servizio YARN per l'allocazione e la gestione delle risorse di cluster e delle applicazioni distribuite.
hadoop-yarn-timeline-server2.8.5-amzn-2Servizio per il recupero di informazioni correnti e della cronologia per applicazioni YARN.
hbase-hmaster1.4.9Servizio per un cluster HBase responsabile del coordinamento delle regioni e dell'esecuzione di comandi amministrativi.
hbase-region-server1.4.9Servizio per servire una o più regioni HBase.
hbase-client1.4.9Client di riga di comando HBase.
hbase-rest-server1.4.9Servizio che fornisce un endpoint RESTful HTTP per HBase.
hbase-thrift-server1.4.9Servizio che fornisce un endpoint Thrift a HBase.
hcatalog-client2.3.4-amzn-1Client a riga di comando "hcat" per la manipolazione del server hcatalog.
hcatalog-server2.3.4-amzn-1Servizio che fornisce HCatalog, un livello di gestione di tabelle e storage per le applicazioni distribuite.
hcatalog-webhcat-server2.3.4-amzn-1Endpoint HTTP che fornisce un'interfaccia REST a HCatalog.
hive-client2.3.4-amzn-1Client a riga di comando Hive.
hive-hbase2.3.4-amzn-1Client Hive-hbase.
hive-metastore-server2.3.4-amzn-1Servizio per l'accesso al metastore Hive, un repository semantico per lo storage di metadati per SQL sulle operazioni Hadoop.
hive-server22.3.4-amzn-1Servizio per l'accettazione di query Hive come richieste Web.
hue-server4.3.0Applicazione Web per l'analisi di dati mediante le applicazioni dell'ecosistema Hadoop
jupyterhub0.9.4Server multi-utente per notebook Jupyter
livy-server0.5.0-incubatingInterfaccia REST per l'interazione con Apache Spark
nginx1.12.1nginx [motore x] è un server proxy inverso e HTTP
mahout-client0.13.0Librerie per Machine Learning.
mxnet1.3.1Una libreria flessibile, scalabile ed efficiente per il deep learning.
mysql-server5.5.54+Server di database MySQL.
nvidia-cuda9.2.88Driver Nvidia e kit di strumenti Cuda
oozie-client5.1.0Client a riga di comando Oozie.
oozie-server5.1.0Servizio per l'accettazione delle richieste di flusso di lavoro Oozie.
opencv3.4.0Open Source Computer Vision Library.
phoenix-library4.14.1-HBase-1,4Le librerie Phoenix per server e client
phoenix-query-server4.14.1-HBase-1,4Un server leggero che fornisce accesso JDBC nonché buffer di protocollo e accesso in formato JSON all'API Avatica
presto-coordinator0.215Servizio per l'accettazione di query e la gestione dell'esecuzione di query di componenti presto-worker.
presto-worker0.215Servizio per l'esecuzione di parti di una query.
pig-client0.17.0Client a riga di comando Pig.
r3.4.1The R Project for Statistical Computing
spark-client2.4.0Client a riga di comando Spark.
spark-history-server2.4.0Interfaccia utente Web per la visualizzazione di eventi registrati per il ciclo di vita di un'applicazione Spark completata.
spark-on-yarn2.4.0Motore di esecuzione in memoria per YARN.
spark-yarn-slave2.4.0Librerie Apache Spark necessarie per gli slave YARN.
sqoop-client1.4.7Client a riga di comando Apache Sqoop.
tensorflow1.12.0Libreria software open source TensorFlow per il calcolo numerico ad alte prestazioni.
tez-on-yarn0.9.1L'applicazione e le librerie tez YARN.
webserver2.4.25+Server Apache HTTP.
zeppelin-server0.8.1Notebook basato sul Web che consente l'analisi di dati interattiva.
zookeeper-server3.4.13Servizio centralizzato per la manutenzione delle informazioni di configurazione, i servizi di denominazione, la sincronizzazione distribuita e l'erogazione di servizi di gruppo.
zookeeper-client3.4.13Client a riga di comando ZooKeeper.

Classificazioni di configurazione

Le classificazioni di configurazione consentono di personalizzare le applicazioni. Esse corrispondono spesso a un file XML di configurazione per l'applicazione, ad esempio hive-site.xml. Per ulteriori informazioni, consulta Configurazione delle applicazioni.

Classificazioni emr-5.22.0
Classificazioni Descrizione

capacity-scheduler

Modifica i valori nel file capacity-scheduler.xml di Hadoop.

container-log4j

Modifica i valori nel file container-log4j.properties di Hadoop YARN.

core-site

Modifica i valori nel file core-site.xml di Hadoop.

emrfs-site

Modifica le impostazioni EMRFS.

flink-conf

Modifica le impostazione flink-conf.yaml.

flink-log4j

Modifica le impostazioni Flink log4j.properties.

flink-log4j-yarn-session

Modifica le impostazioni log4j-yarn-session.properties.

flink-log4j-cli

Modifica le impostazioni Flink log4j-cli.properties.

hadoop-env

Modifica i valori nell'ambiente Hadoop per tutti i componenti Hadoop.

hadoop-log4j

Modifica i valori nel file log4j.properties di Hadoop.

hadoop-ssl-server

Modifica la configurazione server ssl hadoop

hadoop-ssl-client

Modifica la configurazione client ssl hadoop

hbase

Impostazioni Amazon EMR per Apache HBase.

hbase-env

Modifica i valori nell'ambiente HBase.

hbase-log4j

Modifica i valori nel file hbase-log4j.properties di HBase.

hbase-metrics

Modificare valori nel file hadoop-metrics2-hbase.properties di HBase.

hbase-policy

Modifica i valori nel file hbase-policy.xml di HBase.

hbase-site

Modifica i valori nel file hbase-site.xml di HBase.

hdfs-encryption-zones

Configura le zone di crittografia HDFS.

hdfs-site

Modifica i valori nel file hdfs-site.xml di HDFS.

hcatalog-env

Modifica i valori nell'ambiente di HCatalog.

hcatalog-server-jndi

Modifica i valori nel file jndi.properties di HCatalog.

hcatalog-server-proto-hive-site

Modifica i valori nel file proto-hive-site.xml di HCatalog.

hcatalog-webhcat-env

Modifica i valori nell'ambiente di WebHCat HCatalog.

hcatalog-webhcat-log4j2

Modifica i valori nel file log4j2.properties i WebHCat HCatalog.

hcatalog-webhcat-site

Modifica i valori nel file webhcat-site.xml file di HCatalog WebHCat.

hive-beeline-log4j2

Modifica i valori nel file beeline-log4j2.properties di Hive.

hive-parquet-logging

Modifica i valori nel file parquet-logging.properties di Hive.

hive-env

Modifica i valori nell'ambiente Hive.

hive-exec-log4j2

Modifica i valori nel file hive-exec-log4j2.properties di Hive.

hive-llap-daemon-log4j2

Modifica i valori nel file llap-daemon-log4j2.properties di Hive.

hive-log4j2

Modifica i valori nel file hive-log4j2.properties di Hive.

hive-site

Modifica i valori nel file hive-site.xml di Hive

hiveserver2-site

Modifica i valori nel file hiveserver2-site.xml di Hive Server2

hue-ini

Modifica i valori nel file ini di Hue

httpfs-env

Modifica i valori nell'ambiente HTTPFS.

httpfs-site

Modifica i valori nel file httpfs-site.xml di Hadoop.

hadoop-kms-acls

Modifica i valori nel file kms-acls.xml di Hadoop.

hadoop-kms-env

Modifica i valori nell'ambiente Hadoop KMS.

hadoop-kms-log4j

Modifica i valori nel file kms-log4j.properties di Hadoop.

hadoop-kms-site

Modifica i valori nel file kms-site.xml di Hadoop.

jupyter-notebook-conf

Modifica i valori nel file jupyter_notebook_config.py di Jupyter Notebook.

jupyter-hub-conf

Modifica i valori nel file jupyterhub_config.py di JupyterHubs.

jupyter-s3-conf

Configura la persistenza di S3 del notebook Jupyter.

jupyter-sparkmagic-conf

Modifica i valori nel file config.json di Sparkmagic.

livy-conf

Modifica i valori nel file livy.conf di Livy.

livy-env

Modifica i valori nell'ambiente Livy.

livy-log4j

Modifica le impostazioni Livy log4j.properties.

mapred-env

Modifica i valori nell'ambiente MapReduce dell'applicazione MapReduce.

mapred-site

Modifica i valori nel file mapred-site.xml dell'applicazione MapReduce.

oozie-env

Modifica i valori nell'ambiente di Oozie.

oozie-log4j

Modifica i valori nel file oozie-log4j.properties di Oozie.

oozie-site

Modifica i valori nel file oozie-site.xml di Oozie.

phoenix-hbase-metrics

Modifica i valori nel file hadoop-metrics2-hbase.properties di Phoenix.

phoenix-hbase-site

Modifica i valori nel file hbase-site.xml di Phoenix.

phoenix-log4j

Modifica i valori nel file log4j.properties di Phoenix.

phoenix-metrics

Modifica i valori nel file hadoop-metrics2-phoenix.properties di Phoenix.

pig-env

Change values in the Pig environment.

pig-properties

Modifica i valori nel file pig.properties di Pig.

pig-log4j

Modifica i valori nel file log4j.properties di Pig.

presto-log

Modifica i valori nel file log.properties di Presto.

presto-config

Modifica i valori nel file config.properties di Presto.

presto-password-authenticator

Modifica i valori nel file password-authenticator.properties di Presto.

presto-env

Modifica i valori nel file presto-env.sh di Presto.

presto-node

Modifica i valori nel file node.properties di Presto.

presto-connector-blackhole

Modifica i valori nel file blackhole.properties di Presto.

presto-connector-cassandra

Modifica i valori nel file cassandra.properties di Presto.

presto-connector-hive

Modifica i valori nel file hive.properties di Presto.

presto-connector-jmx

Modifica i valori nel file jmx.properties di Presto.

presto-connector-kafka

Modifica i valori nel file kafka.properties di Presto.

presto-connector-localfile

Modifica i valori nel file localfile.properties di Presto.

presto-connector-memory

Modifica i valori nel file memory.properties di Presto.

presto-connector-mongodb

Modifica i valori nel file mongodb.properties di Presto.

presto-connector-mysql

Modifica i valori nel file mysql.properties di Presto.

presto-connector-postgresql

Modifica i valori nel file postgresql.properties di Presto.

presto-connector-raptor

Modifica i valori nel file raptor.properties di Presto.

presto-connector-redis

Modifica i valori nel file redis.properties di Presto.

presto-connector-redshift

Modifica i valori nel file redshift.properties di Presto.

presto-connector-tpch

Modifica i valori nel file tpch.properties di Presto.

presto-connector-tpcds

Modifica i valori nel file tpcds.properties di Presto.

spark

Impostazioni Amazon EMR per Apache Spark.

spark-defaults

Modifica i valori nel file spark-defaults.conf di Spark.

spark-env

Modifica i valori nell'ambiente Spark.

spark-hive-site

Modifica i valori nel file hive-site.xml di Spark

spark-log4j

Modifica i valori nel file log4j.properties di Spark.

spark-metrics

Modifica i valori nel file metrics.properties di Spark.

sqoop-env

Modifica i valori nell'ambiente di Sqoop.

sqoop-oraoop-site

Modifica i valori nel file oraoop-site.xml di Sqoop OraOop.

sqoop-site

Modifica i valori nel file sqoop-site.xml di Sqoop.

tez-site

Modifica i valori nel file tez-site.xml file di Tez.

yarn-env

Modifica i valori nell'ambiente YARN.

yarn-site

Modifica i valori nel file yarn-site.xml di YARN.

zeppelin-env

Modifica i valori nell'ambiente Zeppelin.

zookeeper-config

Modifica i valori nel file zoo.cfg di ZooKeeper.

zookeeper-log4j

Modifica i valori nel file log4j.properties di ZooKeeper.