Rilascio 5.20.0 di Amazon EMR - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Rilascio 5.20.0 di Amazon EMR

Versioni dell'applicazione 5.20.0

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.20.0 emr-5.19.1 emr-5.19.0 emr-5.18.1
AWS SDK per Java 1.11.4611,11,4331,11,4331,11,3393
Python 2.7, 3.62,7, 3,42,7, 3,42,7, 3,4
Scala 2,11,12211,8211,8211,8
AmazonCloudWatchAgent - - - -
Delta - - - -
Flink1.6.21.6.11.6.11.6.0
Ganglia3.7.23.7.23.7.23.7.2
HBase1.4.81.4.71.4.71.4.7
HCatalog2.3.42.3.32.3.32.3.3
Hadoop2,8,52,8,52,8,528.4
Hive2.3.42.3.32.3.32.3.3
Hudi - - - -
Hue4.3.04.2.04.2.04.2.0
Iceberg - - - -
JupyterEnterpriseGateway - - - -
JupyterHub0.9.40.9.40.9.40.8.1
Livy0,5,00,5,00,5,00,5,0
MXNet1.3.11.3.01.3.01.2.0
Mahout0.13.00.13.00.13.00.13.0
Oozie5.0.05.0.05.0.05.0.0
Phoenix4.14.04.14.04.14.04.14.0
Pig0.17.00.17.00.17.00.17.0
Presto0.2140.2120.2120.210
Spark2.4.02.3.22.3.22.3.2
Sqoop1.4.71.4.71.4.71.4.7
TensorFlow1.12.01.11.01.11.01.9.0
Tez0.9.10.8.40.8.40.8.4
Trino (PrestoSQL) - - - -
Zeppelin0.8.00.8.00.8.00.8.0
ZooKeeper3.4.133.4.133.4.133.4.12

Note del rilascio 5.20.0

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

Data del rilascio iniziale: 18 dicembre 2018

Ultimo aggiornamento: 22 gennaio 2019

Aggiornamenti
  • Flink 1.6.2

  • HBase 1.4.8

  • Hive 2.3.4

  • Hue 4.3.0

  • MXNet 1.3.1

  • Presto 0.214

  • Spark 2.4.0

  • TensorFlow 1,12,0

  • Tez 0.9.1

  • AWS SDK for Java 1,11,461

Nuove funzionalità
  • (22 gennaio 2019) Kerberos in Amazon EMR è stato migliorato per supportare l'autenticazione delle entità principali da un KDC esterno. In questo modo, la gestione dei principali viene centralizzata perché più cluster possono condividere un unico server KDC esterno. Inoltre, il server KDC esterno può avere un trust tra realm con un dominio Active Directory. In questo modo, tutti i cluster possono autenticare i principali da Active Directory. Per ulteriori informazioni, consulta Utilizzo dell'autenticazione Kerberos nella Guida alla gestione di Amazon EMR.

Modifiche, miglioramenti e problemi risolti
  • AMI predefinita di Amazon Linux per Amazon EMR

    • Il pacchetto Python3 è stato aggiornato da python 3.4 a 3.6.

  • Il committer ottimizzato S3 EMRFS

  • Hive

  • Glue con Spark e Hive

    • In EMR 5.20.0 o versioni successive, il pruning delle partizioni parallele viene abilitato automaticamente per Spark e Hive quando AWS Glue Data Catalog viene utilizzato come metastore. Questa modifica riduce significativamente i tempi di pianificazione delle query eseguendo più richieste in parallelo per recuperare le partizioni. Il numero totale di segmenti che è possibile eseguire contemporaneamente è compreso tra 1 e 10. Il valore di default è 5, che è l'impostazione consigliata. Puoi modificare questa impostazione specificando la proprietà aws.glue.partition.num.segments nella classificazione di configurazione hive-site. Se si verifica una limitazione, è possibile disattivare la funzione modificando il valore su 1. Per ulteriori informazioni, consulta Struttura del segmento AWS Glue.

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
  • Tez

    • Questo problema è stato risolto in Amazon EMR 5.22.0.

      Quando ci si connette all'interfaccia utente Tez all'indirizzo http://MasterDNS:8080/tez-ui tramite una connessione SSH al nodo primario del cluster, viene visualizzato l'errore "Adapter operation failed - Timeline server (ATS) is out of reach. Either it is down, or CORS is not enabled (Operazione adattatore fallita: server Timeline (ATS) fuori portata. O è inattivo o CORS non è abilitato)" o le attività mostrano una dicitura N/A inaspettata.

      Ciò è dovuto al fatto che l'interfaccia utente Tez effettua richieste al server Timeline YARN utilizzando localhost anziché il nome host del nodo primario. Come soluzione alternativa, è disponibile uno script da eseguire come operazione o fase di bootstrap. Lo script aggiorna il nome host nel file Tez configs.env. Per ulteriori informazioni e per la posizione dello script, consulta Istruzioni di bootstrap.

  • 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 startup 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.

  • 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 5.20.0

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.1 SageMaker SDK Amazon Spark
emr-ddb4.7.0Connettore di Amazon DynamoDB per le applicazioni dell'ecosistema Hadoop.
emr-goodies2.5.1Librerie utili per l'ecosistema Hadoop.
emr-kinesis3.4.0Connettore di Amazon Kinesis per le applicazioni dell'ecosistema Hadoop.
emr-s3-dist-cp2.10.0Applicazione di copia distribuita ottimizzata per Amazon S3.
emr-s3-select1.2.0Connettore di EMR S3Select
emrfs2.29.0Connettore di Amazon S3 per le applicazioni dell'ecosistema Hadoop.
flink-client1.6.2Applicazioni 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-1Client di riga di comando Hadoop, ad esempio "hdfs", "hadoop" o "yarn".
hadoop-hdfs-datanode2.8.5-amzn-1Servizio a livello di nodo HDFS per lo storage di blocchi.
hadoop-hdfs-library2.8.5-amzn-1Libreria e client di riga di comando HDFS
hadoop-hdfs-namenode2.8.5-amzn-1Servizio HDFS per tenere traccia dei nomi di file e delle posizioni dei blocchi.
hadoop-httpfs-server2.8.5-amzn-1Endpoint HTTP per le operazioni HDFS.
hadoop-kms-server2.8.5-amzn-1Server di gestione delle chiavi crittografiche basato sull'API di Hadoop. KeyProvider
hadoop-mapred2.8.5-amzn-1MapReduce librerie di motori di esecuzione per l'esecuzione di un'applicazione. MapReduce
hadoop-yarn-nodemanager2.8.5-amzn-1Servizio YARN per la gestione di container su un singolo nodo.
hadoop-yarn-resourcemanager2.8.5-amzn-1Servizio YARN per l'allocazione e la gestione delle risorse di cluster e delle applicazioni distribuite.
hadoop-yarn-timeline-server2.8.5-amzn-1Servizio per il recupero di informazioni correnti e della cronologia per applicazioni YARN.
hbase-hmaster1.4.8Servizio per un cluster HBase responsabile del coordinamento delle regioni e dell'esecuzione di comandi amministrativi.
hbase-region-server1.4.8Servizio per servire una o più regioni HBase.
hbase-client1.4.8Client di riga di comando HBase.
hbase-rest-server1.4.8Servizio che fornisce un endpoint RESTful HTTP per HBase.
hbase-thrift-server1.4.8Servizio che fornisce un endpoint Thrift a HBase.
hcatalog-client2.3.4-amzn-0Client a riga di comando "hcat" per la manipolazione del server hcatalog.
hcatalog-server2.3.4-amzn-0Servizio che fornisce HCatalog, un livello di gestione di tabelle e storage per le applicazioni distribuite.
hcatalog-webhcat-server2.3.4-amzn-0Endpoint HTTP che fornisce un'interfaccia REST a HCatalog.
hive-client2.3.4-amzn-0Client a riga di comando Hive.
hive-hbase2.3.4-amzn-0Client Hive-hbase.
hive-metastore-server2.3.4-amzn-0Servizio per l'accesso al metastore Hive, un repository semantico per lo storage di metadati per SQL sulle operazioni Hadoop.
hive-server22.3.4-amzn-0Servizio 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.0.0Client a riga di comando Oozie.
oozie-server5.0.0Servizio per l'accettazione delle richieste di flusso di lavoro Oozie.
opencv3.4.0Open Source Computer Vision Library.
phoenix-library4.14.0-HBase-1.4Le librerie Phoenix per server e client
phoenix-query-server4.14.0-HBase-1.4Un server leggero che fornisce accesso JDBC nonché buffer di protocollo e accesso in formato JSON all'API Avatica
presto-coordinator0.214Servizio per l'accettazione di query e la gestione dell'esecuzione di query di componenti presto-worker.
presto-worker0.214Servizio 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 la durata 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.0TensorFlow libreria software open source 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.0Notebook 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.13ZooKeeper client a riga di comando.

Classificazioni di configurazione 5.20.0

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.20.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 di Flink log4 j-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 .xml di HCatalog. proto-hive-site

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 4j2.properties di Hive. hive-exec-log

hive-llap-daemon-log4j2

Modifica i valori nel file 4j2.properties di Hive. llap-daemon-log

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

Cambia i valori nel file jupyterhub_config.py 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 dell' MapReduce applicazione.

mapred-site

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

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 OraOop Sqoop.

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

Cambia i valori nel ZooKeeper file zoo.cfg.

zookeeper-log4j

Modifica i valori nel file ZooKeeper log4j.properties.