Amazon EMR, versión 5.26.0 - Amazon EMR

Amazon EMR, versión 5.26.0

Versiones de las aplicaciones de la versión 5.26.0

Esta versión admite las siguientes aplicaciones: Flink, Ganglia, HBase, HCatalog, Hadoop, Hive, Hue, JupyterHub, Livy, MXNet, Mahout, Oozie, Phoenix, Pig, Presto, Spark, Sqoop, TensorFlow, Tez, Zeppelin y ZooKeeper.

En la siguiente tabla se enumeran las versiones de la aplicación disponibles en esta versión de Amazon EMR y las versiones de la aplicación en las tres versiones anteriores de Amazon EMR (cuando corresponda).

Para ver un historial completo de las versiones de la aplicación disponibles para cada versión de Amazon EMR, consulte los temas siguientes:

Información sobre la versión de la aplicación
emr-5.26.0 emr-5.25.0 emr-5.24.1 emr-5.24.0
AWS SDK para Java 1.11.5951.11.5661.11.5461.11.546
Python 2.7, 3.62.7, 3.62.7, 3.62.7, 3.6
Scala 2.11.122.11.122.11.122.11.12
AmazonCloudWatchAgent - - - -
Delta - - - -
Flink1.8.01.8.01.8.01.8.0
Ganglia3.7.23.7.23.7.23.7.2
HBase1.4.101.4.91.4.91.4.9
HCatalog2.3.52.3.52.3.42.3.4
Hadoop2.8.52.8.52.8.52.8.5
Hive2.3.52.3.52.3.42.3.4
Hudi - - - -
Hue4.4.04.4.04.4.04.4.0
Iceberg - - - -
JupyterEnterpriseGateway - - - -
JupyterHub0.9.60.9.60.9.60.9.6
Livy0.6.00.6.00.6.00.6.0
MXNet1.4.01.4.01.4.01.4.0
Mahout0.13.00.13.00.13.00.13.0
Oozie5.1.05.1.05.1.05.1.0
Phoenix4.14.24.14.14.14.14.14.1
Pig0.17.00.17.00.17.00.17.0
Presto0.2200.2200.2190.219
Spark2.4.32.4.32.4.22.4.2
Sqoop1.4.71.4.71.4.71.4.7
TensorFlow1.13.11.13.11.12.01.12.0
Tez0.9.20.9.20.9.10.9.1
Trino (PrestoSQL) - - - -
Zeppelin0.8.10.8.10.8.10.8.1
ZooKeeper3.4.143.4.143.4.133.4.13

Notas de la versión 5.26.0

Las siguientes notas de la versión incluyen información sobre la versión 5.26.0 de Amazon EMR. Los cambios son respecto a la versión 5.25.0.

Fecha de lanzamiento inicial: 8 de agosto de 2019

Fecha de la última actualización: 19 de agosto de 2019

Actualizaciones
  • AWS SDK for Java 1.11.595

  • HBase 1.4.10

  • Phoenix 4.14.2

  • Conectores y controladores:

    • Conector de DynamoDB 4.11.0

    • MariaDB Connector 2.4.2

    • Controlador JDBC de Amazon Redshift, versión 1.2.32.1056

Nuevas características
  • (Beta) Con Amazon EMR 5.26.0, puede lanzar un clúster que se integre con Lake Formation. Esta integración proporciona acceso detallado de nivel de columna a bases de datos y tablas en el Catálogo de datos de AWS Glue. También permite un inicio de sesión único federado en cuadernos de EMR o Apache Zeppelin desde un sistema de identidades empresariales. Para más información, consulte Integración de Amazon EMR con AWS Lake Formation (versión beta).

  • (19 de agosto de 2019) El bloqueo de acceso público de Amazon EMR ya está disponible en todas las versiones de Amazon EMR que admiten grupos de seguridad. El bloqueo de acceso público es una configuración que abarca toda la cuenta y que se aplica a cada región de AWS. El bloqueo de acceso público evita que un clúster se ejecute cuando un grupo de seguridad asociado con el clúster disponga de una regla que permita el tráfico entrante desde IPv4 0.0.0.0/0 o IPv6 ::/0 (acceso público) en un puerto, a no ser que el puerto se especifique como excepción. El puerto 22 es una excepción de forma predeterminada. Para más información, consulte Uso del bloqueo de acceso público de Amazon EMR en la Guía de administración de Amazon EMR.

Cambios, mejoras y problemas resueltos
  • EMR Notebooks

    • Con la versión 5.26.0 y posteriores de EMR, Cuadernos de EMR admite bibliotecas de Python limitadas a cuadernos, además de las bibliotecas de Python predeterminadas. Puede instalar bibliotecas limitadas a cuadernos desde el editor de cuadernos sin tener que volver a crear un clúster ni volver a asociar un cuaderno a un clúster. Las bibliotecas con ámbito de cuaderno se instalan en un entorno virtual de Python, por lo que solo se aplican a la sesión de cuaderno actual. Esto le permite aislar las dependencias de los cuadernos. Para más información, consulte Uso de bibliotecas adaptadas a los cuadernos en la Guía de administración de Amazon EMR.

  • EMRFS

    • Puede habilitar una característica de verificación de ETag (beta) al configurar fs.s3.consistent.metadata.etag.verification.enabled como true. Con esta característica, EMRFS utiliza las ETags de Amazon S3 para verificar que los objetos leídos tienen la última versión disponible. Esta característica resulta útil para casos de uso de lectura después de la actualización en los que los archivos de Amazon S3 se sobrescriben conservando el mismo nombre. Esta capacidad de comprobación de ETag no funciona actualmente con S3 Select. Para más información, consulte Configuración de la vista consistente.

  • Spark

    • Las siguientes optimizaciones ahora se habilitan de forma predeterminada: la eliminación dinámica de particiones, DISTINCT antes de INTERSECT, las mejoras en la inferencia estadística del plan de SQL para JOIN seguida de consultas DISTINCT, el aplanamiento de las subconsultas escalares, el reordenamiento optimizado de las uniones y la unión mediante filtros de Bloom. Para más información, consulte Optimización del rendimiento de Spark.

    • Se ha mejorado la generación de código en todas las etapas para Sort Merge Join.

    • Se ha mejorado la reutilización de fragmentos de consultas y subconsultas.

    • Mejoras en la preasignación de los ejecutores en el inicio de Spark.

    • Las uniones con filtro de Bloom ya no se aplican cuando el lado más pequeño de la unión incluye una sugerencia de transmisión.

  • Tez

    • Se ha resuelto un problema con Tez. La interfaz de usuario de Tez ahora funciona en un clúster de Amazon EMR con varios nodos principales.

Problemas conocidos
  • Las capacidades mejoradas de generación de código en todas las etapas de Sort Merge Join pueden aumentar la presión de la memoria cuando están habilitadas. Esta optimización mejora el rendimiento, pero puede provocar reintentos de trabajo o errores si spark.yarn.executor.memoryOverheadFactor no se ajusta para proporcionar suficiente memoria. Para deshabilitar esta característica, establezca spark.sql.sortMergeJoinExec.extendedCodegen.enabled como “Falso”.

  • Problema conocido en clústeres con varios nodos principales y autenticación de Kerberos

    Si ejecuta clústeres con varios nodos principales y autenticación de Kerberos en las versiones 5.20.0 y posteriores de Amazon EMR, es posible que tenga problemas con las operaciones del clúster, como la reducción vertical o el envío escalonado, después de que el clúster se haya estado ejecutando durante algún tiempo. El periodo de tiempo depende del periodo de validez del ticket de Kerberos que se haya definido. El problema de la reducción vertical afecta tanto a las solicitudes de reducción vertical automática como a las solicitudes de reducción vertical explícita que haya enviado. Las operaciones adicionales del clúster también pueden verse afectadas.

    Solución:

    • SSH como usuario de hadoop con el nodo principal líder del clúster de EMR con varios nodos principales.

    • Ejecute el siguiente comando para renovar el ticket de Kerberos para el usuario de hadoop.

      kinit -kt <keytab_file> <principal>

      Normalmente, el archivo keytab se encuentra en /etc/hadoop.keytab y la entidad principal tiene la forma de hadoop/<hostname>@<REALM>.

    nota

    Esta solución alternativa estará en vigor durante el periodo de validez del ticket de Kerberos. Esta duración es de 10 horas de forma predeterminada, pero se puede configurar con los ajustes de Kerberos. Debe volver a ejecutar el comando anterior una vez que venza el ticket de Kerberos.

Versiones de los componentes de la versión 5.26.0

A continuación, se muestran los componentes que Amazon EMR instala con esta versión. Algunos se instalan como parte de paquetes de aplicación de Big Data. Otros son exclusivos de Amazon EMR y se instalan para ciertos procesos y características del sistema. Normalmente, estos componentes comienzan con emr o aws. Normalmente, los paquetes de aplicación de macrodatos de la versión más reciente de Amazon EMR son las versiones más recientes que pueden encontrarse en la comunidad. Intentamos que las versiones de la comunidad estén disponibles en Amazon EMR lo más rápido posible.

Algunos componentes de Amazon EMR son distintos de las versiones que se encuentran en la comunidad. Estos componentes tienen una etiqueta de versión con el formato CommunityVersion-amzn-EmrVersion. La EmrVersion empieza por 0. Por ejemplo, si un componente de la comunidad de código abierto llamado myapp-component con la versión 2.2 se ha modificado tres veces para incluirlo en diferentes versiones de lanzamiento de Amazon EMR, la versión que se mostrará será 2.2-amzn-2.

Componente Versión Descripción
aws-sagemaker-spark-sdk1.2.4SDK de Amazon SageMaker Spark
emr-ddb4.11.0Conector de Amazon DynamoDB para aplicaciones del ecosistema de Hadoop.
emr-goodies2.10.0Bibliotecas especialmente prácticas para el ecosistema de Hadoop.
emr-kinesis3.4.0Conector de Amazon Kinesis para aplicaciones del ecosistema de Hadoop.
emr-s3-dist-cp2.12.0Aplicación de copia distribuida optimizada para Amazon S3.
emr-s3-select1.3.0Conector S3Select de EMR
emrfs2.35.0Conector de Amazon S3 para aplicaciones del ecosistema de Hadoop.
flink-client1.8.0Scripts y aplicaciones de cliente de línea de comando de Apache Flink.
ganglia-monitor3.7.2Agente de Ganglia incrustado para aplicaciones del ecosistema de Hadoop junto con el agente de monitorización de Ganglia.
ganglia-metadata-collector3.7.2Recopilador de metadatos de Ganglia para agregación de métricas a partir de los agentes de monitorización de Ganglia.
ganglia-web3.7.1Aplicación web para visualizar las métricas recopiladas por el recopilador de metadatos de Ganglia.
hadoop-client2.8.5-amzn-4Los clientes de línea de comando de Hadoop como, por ejemplo "hdfs", "hadoop" o "yarn".
hadoop-hdfs-datanode2.8.5-amzn-4Servicio de nivel de nodos de HDFS para el almacenamiento de bloques.
hadoop-hdfs-library2.8.5-amzn-4Biblioteca y cliente de línea de comandos HDFS
hadoop-hdfs-namenode2.8.5-amzn-4Servicio de HDFS para realizar un seguimiento de nombres de archivo y bloquear ubicaciones.
hadoop-hdfs-journalnode2.8.5-amzn-4Servicio de HDFS para administrar los archivos de Hadoop periódico en clústeres de alta disponibilidad.
hadoop-httpfs-server2.8.5-amzn-4Punto de enlace HTTP para operaciones HDFS.
hadoop-kms-server2.8.5-amzn-4Servidor de administración de claves criptográficas basado en el API KeyProvider de Hadoop.
hadoop-mapred2.8.5-amzn-4Bibliotecas de motor de ejecución de MapReduce para ejecutar una aplicación de MapReduce.
hadoop-yarn-nodemanager2.8.5-amzn-4Servicio de YARN para la administración de contenedores en un nodo individual.
hadoop-yarn-resourcemanager2.8.5-amzn-4Servicio de YARN para la asignación y administración de recursos de clúster y aplicaciones distribuidas.
hadoop-yarn-timeline-server2.8.5-amzn-4Servicio para recuperar información actual e histórica para aplicaciones de YARN.
hbase-hmaster1.4.10Servicio para un clúster de HBase responsable de la coordinación de regiones y ejecución de comandos administrativos.
hbase-region-server1.4.10Servicio que atiende a una o varias regiones de HBase.
hbase-client1.4.10Cliente de línea de comando de HBase.
hbase-rest-server1.4.10Servicio que proporciona un punto de enlace HTTP RESTful para HBase.
hbase-thrift-server1.4.10Service que proporciona un punto de enlace de Thrift a HBase.
hcatalog-client2.3.5-amzn-0El cliente de línea de comando "hcat" para manipular hcatalog-server.
hcatalog-server2.3.5-amzn-0Service que proporciona a HCatalog, una tabla y capa de administración de almacenamiento para aplicaciones distribuidas.
hcatalog-webhcat-server2.3.5-amzn-0Punto de enlace HTTP que proporciona una interfaz REST a HCatalog.
hive-client2.3.5-amzn-0Cliente de línea de comando de Hive.
hive-hbase2.3.5-amzn-0Hive-hbase client.
hive-metastore-server2.3.5-amzn-0Service para acceder al metaalmacén de Hive, un repositorio semántico que almacena metadatos para SQL en operaciones de Hadoop.
hive-server22.3.5-amzn-0Servicio para aceptar consultas de Hive como solicitudes web.
hue-server4.4.0Aplicación web para analizar datos con aplicaciones del ecosistema de Hadoop
jupyterhub0.9.6Servidor multiusuario para blocs de notas Jupyter
livy-server0.6.0-incubatingInterfaz de REST para interactuar con Apache Spark
nginx1.12.1nginx [engine x] es un servidor HTTP y proxy inverso
mahout-client0.13.0Biblioteca para machine learning.
mxnet1.4.0Una biblioteca flexible, escalable y eficiente para el aprendizaje profundo.
mysql-server5.5.54+Servidor de bases de datos MySQL.
nvidia-cuda9.2.88Controladores Nvidia y conjunto de herramientas Cuda
oozie-client5.1.0Cliente de línea de comando de Oozie.
oozie-server5.1.0Servicio para aceptar solicitudes de flujo de trabajo de Oozie.
opencv3.4.0Biblioteca de visión artificial de código abierto.
phoenix-library4.14.2-HBase-1.4Las bibliotecas de Phoenix para servidor y cliente
phoenix-query-server4.14.2-HBase-1.4Un servidor ligero que proporciona acceso a JDBC, así como acceso de formato Protocol Buffers y JSON al API de Avatica
presto-coordinator0.220Servicio para aceptar las consultas y administrar la ejecución de consultas entre presto-workers.
presto-worker0.220Service para ejecutar partes de una consulta.
pig-client0.17.0Cliente de línea de comando de Pig.
r3.4.1Proyecto R para análisis estadístico
spark-client2.4.3Clientes de línea de comando de Spark.
spark-history-server2.4.3IU web para la visualización de eventos registrados durante la vida útil de una aplicación Spark completada.
spark-on-yarn2.4.3Motor de ejecución en memoria para YARN.
spark-yarn-slave2.4.3Bibliotecas de Apache Spark necesarias para esclavos de YARN.
sqoop-client1.4.7Cliente de línea de comando de Apache Sqoop.
tensorflow1.13.1Biblioteca de software de código abierto de TensorFlow para cálculos numéricos de alto rendimiento.
tez-on-yarn0.9.2La aplicación YARN de tez y bibliotecas.
webserver2.4.25+Servidor HTTP de Apache.
zeppelin-server0.8.1Bloc de notas basado en web que permite el análisis de datos interactivo.
zookeeper-server3.4.14Servicio centralizado para mantener información de configuración, nomenclatura, proporcionar sincronización distribuida y proporcionar servicios de grupo.
zookeeper-client3.4.14Cliente de línea de comando de ZooKeeper.

Clasificaciones de configuración de la versión 5.26.0

Las clasificaciones de configuración le permiten personalizar las aplicaciones. Suelen corresponder a un archivo XML de configuración para la aplicación como, por ejemplo, hive-site.xml. Para obtener más información, consulte Configuración de aplicaciones.

Clasificaciones de emr-5.26.0
Clasificaciones Descripción

capacity-scheduler

Cambiar los valores en el archivo capacity-scheduler.xml de Hadoop.

container-log4j

Cambiar los valores en el archivo container-log4j.properties de Hadoop YARN.

core-site

Cambiar los valores en el archivo core-site.xml de Hadoop.

emrfs-site

Cambiar la configuración de EMRFS.

flink-conf

Cambiar la configuración de flink-conf.yaml.

flink-log4j

Cambiar la configuración de log4j.properties de Flink.

flink-log4j-yarn-session

Cambiar la configuración de log4j-yarn-session.properties de Flink.

flink-log4j-cli

Cambiar la configuración de log4j-cli.properties de Flink.

hadoop-env

Cambiar los valores en el entorno de Hadoop para todos los componentes de Hadoop.

hadoop-log4j

Cambiar los valores en el archivo log4j.properties de Hadoop.

hadoop-ssl-server

Cambiar la configuración del servidor ssl de Hadoop

hadoop-ssl-client

Cambiar la configuración del cliente ssl de Hadoop

hbase

Configuración de Amazon EMR mantenida para Apache HBase.

hbase-env

Cambiar los valores en el entorno de HBase.

hbase-log4j

Cambiar los valores en el archivo hbase-log4j.properties de HBase.

hbase-metrics

Cambiar los valores en el archivo hadoop-metrics2-hbase.properties de HBase.

hbase-policy

Cambiar los valores en el archivo hbase-policy.xml de HBase.

hbase-site

Cambiar los valores en el archivo hbase-site.xml de HBase.

hdfs-encryption-zones

Configurar zonas de cifrado de HDFS.

hdfs-site

Cambiar los valores en hdfs-site.xml de HDFS.

hcatalog-env

Cambiar los valores en el entorno de HCatalog.

hcatalog-server-jndi

Cambiar los valores en jndi.properties de HCatalog.

hcatalog-server-proto-hive-site

Cambiar los valores en proto-hive-site.xml de HCatalog.

hcatalog-webhcat-env

Cambiar los valores en el entorno de HCatalog WebHCat.

hcatalog-webhcat-log4j2

Cambiar los valores en log4j2.properties de HCatalog WebHCat.

hcatalog-webhcat-site

Cambiar los valores en el archivo webhcat-site.xml de HCatalog WebHCat.

hive-beeline-log4j2

Cambiar los valores en el archivo beeline-log4j2.properties de Hive.

hive-parquet-logging

Cambiar los valores en el archivo parquet-logging.properties de Hive.

hive-env

Cambiar los valores en el entorno de Hive.

hive-exec-log4j2

Cambiar los valores en el archivo hive-exec-log4j2.properties de Hive.

hive-llap-daemon-log4j2

Cambiar los valores en el archivo llap-daemon-log4j2.properties de Hive.

hive-log4j2

Cambiar los valores en el archivo hive-log4j2.properties de Hive.

hive-site

Cambiar los valores en el archivo hive-site.xml de Hive.

hiveserver2-site

Cambiar los valores en el archivo hiveserver2-site.xml de Hive Server2.

hue-ini

Cambiar los valores en el archivo ini de Hue

httpfs-env

Cambiar los valores en el entorno de HTTPFS.

httpfs-site

Cambiar los valores en el archivo httpfs-site.xml de Hadoop.

hadoop-kms-acls

Cambiar los valores en el archivo kms-acls.xml de Hadoop.

hadoop-kms-env

Cambiar los valores en el entorno de Hadoop KMS.

hadoop-kms-log4j

Cambiar los valores en el archivo kms-log4j.properties de Hadoop.

hadoop-kms-site

Cambiar los valores en el archivo kms-site.xml de Hadoop.

jupyter-notebook-conf

Cambiar los valores en el archivo jupyter_notebook_config.py de Jupyter Notebook.

jupyter-hub-conf

Cambiar los valores en el archivo jupyterhub_config.py de JupyterHubs.

jupyter-s3-conf

Configurar la persistencia en S3 del bloc de notas de Jupyter.

jupyter-sparkmagic-conf

Cambiar los valores en el archivo config.json de Sparkmagic.

livy-conf

Cambiar los valores en el archivo livy.conf de Livy.

livy-env

Cambiar los valores en el entorno de Livy.

livy-log4j

Cambiar la configuración de log4j.properties de Livy.

mapred-env

Cambiar los valores en el entorno de aplicación de MapReduce.

mapred-site

Cambiar los valores en el archivo mapred-site.xml de la aplicación MapReduce.

oozie-env

Cambiar los valores en el entorno de Oozie.

oozie-log4j

Cambiar los valores en el archivo oozie-log4j.properties de Oozie.

oozie-site

Cambiar los valores en el archivo oozie-site.xml de Oozie.

phoenix-hbase-metrics

Cambiar los valores en el archivo hadoop-metrics2-hbase.properties de Phoenix.

phoenix-hbase-site

Cambiar los valores en el archivo hbase-site.xml de Phoenix.

phoenix-log4j

Cambiar los valores en el archivo log4j.properties de Phoenix.

phoenix-metrics

Cambiar los valores en el archivo hadoop-metrics2-phoenix.properties de Phoenix.

pig-env

Cambiar los valores en el entorno de Pig.

pig-properties

Cambiar los valores en el archivo pig.properties de Pig.

pig-log4j

Cambiar los valores en el archivo log4j.properties de Pig.

presto-log

Cambiar los valores en el archivo log.properties de Presto.

presto-config

Cambiar los valores en el archivo config.properties de Presto.

presto-password-authenticator

Cambiar los valores en el archivo password-authenticator.properties de Presto.

presto-env

Cambiar valores en el archivo presto-env.sh de Presto.

presto-node

Cambiar valores en el archivo node.properties de Presto.

presto-connector-blackhole

Cambiar los valores en el archivo blackhole.properties de Presto.

presto-connector-cassandra

Cambiar los valores en el archivo cassandra.properties de Presto.

presto-connector-hive

Cambiar los valores en el archivo hive.properties de Presto.

presto-connector-jmx

Cambiar los valores en el archivo jmx.properties de Presto.

presto-connector-kafka

Cambiar los valores en el archivo kafka.properties de Presto.

presto-connector-localfile

Cambiar los valores en el archivo localfile.properties de Presto.

presto-connector-memory

Cambiar los valores del archivo memory.properties de Presto.

presto-connector-mongodb

Cambiar los valores en el archivo mongodb.properties de Presto.

presto-connector-mysql

Cambiar los valores en el archivo mysql.properties de Presto.

presto-connector-postgresql

Cambiar los valores en el archivo postgresql.properties de Presto.

presto-connector-raptor

Cambiar los valores en el archivo raptor.properties de Presto.

presto-connector-redis

Cambiar los valores en el archivo redis.properties de Presto.

presto-connector-redshift

Cambiar los valores en el archivo redshift.properties de Presto.

presto-connector-tpch

Cambiar los valores en el archivo tpch.properties de Presto.

presto-connector-tpcds

Cambiar los valores del archivo tpcds.properties de Presto.

recordserver-env

Cambiar los valores en el entorno de EMR RecordServer.

recordserver-conf

Cambiar los valores en el archivo server.properties de EMR RecordServer.

recordserver-log4j

Cambiar los valores en el archivo log4j.properties de EMR RecordServer.

spark

Configuración de Amazon EMR mantenida para Apache Spark.

spark-defaults

Cambiar los valores en el archivo spark-defaults.conf de Spark.

spark-env

Cambiar los valores en el entorno de Spark.

spark-hive-site

Cambiar los valores en el archivo hive-site.xml de Spark.

spark-log4j

Cambiar los valores en el archivo log4j.properties de Spark.

spark-metrics

Cambiar los valores en el archivo metrics.properties de Spark.

sqoop-env

Cambiar los valores en el entorno de Sqoop.

sqoop-oraoop-site

Cambiar los valores en el archivo oraoop-site.xml de Sqoop OraOop.

sqoop-site

Cambiar los valores en el archivo sqoop-site.xml de Sqoop.

tez-site

Cambiar los valores en el archivo tez-site.xml de Tez.

yarn-env

Cambiar los valores en el entorno de YARN.

yarn-site

Cambiar los valores en el archivo yarn-site.xml de YARN.

zeppelin-env

Cambiar los valores en el entorno de Zeppelin.

zookeeper-config

Cambiar los valores del archivo zoo.cfg de ZooKeeper.

zookeeper-log4j

Cambiar los valores en el archivo log4j.properties de ZooKeeper.