Versão 5.25.0 do Amazon EMR - Amazon EMR

Versão 5.25.0 do Amazon EMR

Versões 5.25.0 da aplicação

As seguintes aplicações são compatíveis com esta versão: Flink, Ganglia, HBase, HCatalog, Hadoop, Hive, Hue, JupyterHub, Livy, MXNet, Mahout, Oozie, Phoenix, Pig, Presto, Spark, Sqoop, TensorFlow, Tez, Zeppelin e ZooKeeper.

A tabela abaixo lista as versões das aplicações disponíveis nesta versão do Amazon EMR e as versões de aplicações nas três versões anteriores do Amazon EMR (quando aplicável).

Para obter um histórico abrangente das versões das aplicações de cada versão do Amazon EMR, consulte os seguintes tópicos:

Informações da versão da aplicação
emr-5.25.0 emr-5.24.1 emr-5.24.0 emr-5.23.1
AWS SDK para Java 1.11.5661.11.5461.11.5461.11.519
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.7.1
Ganglia3.7.23.7.23.7.23.7.2
HBase1.4.91.4.91.4.91.4.9
HCatalog2.3.52.3.42.3.42.3.4
Hadoop2.8.52.8.52.8.52.8.5
Hive2.3.52.3.42.3.42.3.4
Hudi - - - -
Hue4.4.04.4.04.4.04.3.0
Iceberg - - - -
JupyterEnterpriseGateway - - - -
JupyterHub0.9.60.9.60.9.60.9.4
Livy0.6.00.6.00.6.00.5.0
MXNet1.4.01.4.01.4.01.3.1
Mahout0.13.00.13.00.13.00.13.0
Oozie5.1.05.1.05.1.05.1.0
Phoenix4.14.14.14.14.14.14.14.1
Pig0.17.00.17.00.17.00.17.0
Presto0.2200.2190.2190.215
Spark2.4.32.4.22.4.22.4.0
Sqoop1.4.71.4.71.4.71.4.7
TensorFlow1.13.11.12.01.12.01.12.0
Tez0.9.20.9.10.9.10.9.1
Trino (PrestoSQL) - - - -
Zeppelin0.8.10.8.10.8.10.8.1
ZooKeeper3.4.143.4.133.4.133.4.13

Notas da versão 5.25.0

As notas da versão a seguir incluem informações para a versão 5.25.0 do Amazon EMR. As alterações são referentes à versão 5.24.1.

Data da versão inicial: 17 de julho de 2019

Data da última atualização: 30 de outubro de 2019

Amazon EMR 5.25.0

Atualizações
  • AWS SDK for Java 1.11.566

  • Hive 2.3.5

  • Presto 0.220

  • Spark 2.4.3

  • TensorFlow 1.13.1

  • Tez 0.9.2

  • Zookeeper 3.4.14

Novos atributos
  • (30 de outubro de 2019) Desde a versão 5.25.0 do Amazon EMR, é possível conectar-se ao servidor de histórico do Spark na página Resumo do cluster ou na guia Histórico da aplicação no console. Em vez de configurar um proxy da Web por meio de uma conexão SSH, você pode acessar rapidamente a interface do usuário do servidor de histórico do Spark para visualizar as métricas da aplicação e acessar arquivos de log relevantes para clusters ativos e encerrados. Para obter mais informações, consulte Acesso fora do cluster a interfaces de usuário de aplicações persistentes no Guia de gerenciamento do Amazon EMR.

Alterações, melhorias e problemas resolvidos
  • Spark

    • Aprimorada a performance de algumas junções usando filtros de Bloom para pré-filtrar as entradas. A otimização é desabilitada por padrão e pode ser habilitada com a definição do parâmetro spark.sql.bloomFilterJoin.enabled de configuração do Spark como true.

    • Aprimorada a performance do agrupamento por colunas do tipo string.

    • Aprimorada a memória padrão do executor Spark e a configuração dos núcleos dos tipos de instância R4 para clusters sem HBase instalado.

    • Resolvido um problema anterior com o atributo de remoção dinâmica de partições, em que a tabela removida precisava estar no lado esquerdo da junção.

    • Aprimorada a otimização do DISTINCT antes do INTERSECT para ser aplicada a casos adicionais envolvendo aliases.

    • Aprimorada a inferência de estatísticas do plano SQL para JOIN seguida por consultas DISTINCT. Essa melhoria é desabilitada por padrão e pode ser habilitada pela definição do parâmetro spark.sql.statsImprovements.enabled de configuração do Spark como true. Essa otimização é exigida pelo atributo Distinct antes do Intersect e será habilitada automaticamente quando spark.sql.optimizer.distinctBeforeIntersect.enabled estiver definido como true.

    • Otimizada a ordem de junção com base no tamanho da tabela e nos filtros. Essa otimização é desativada por padrão e pode ser ativada com a definição do parâmetro spark.sql.optimizer.sizeBasedJoinReorder.enabled de configuração do Spark como true.

    Para obter mais informações, consulte Otimizar a performance do Spark.

  • EMRFS

    • A configuração do EMRFS, fs.s3.buckets.create.enabled, agora está desabilitada por padrão. Por meio de testes, descobrimos que a desabilitação dessa configuração melhora a performance e evita a criação não intencional de buckets do S3. Se sua aplicação depende dessa funcionalidade, você pode habilitá-la definindo a propriedade fs.s3.buckets.create.enabled como true na classificação de configuração emrfs-site. Para obter informações, consulte Supplying a Configuration when Creating a Cluster.

  • Melhorias na criptografia de disco local e na criptografia do S3 nas configurações de segurança (5 de agosto de 2019)

    • Separadas as configurações de criptografia do Amazon S3 das configurações de criptografia de disco local na configuração de segurança.

    • Adicionada uma opção para habilitar a criptografia do EBS com as versões 5.24.0 e posteriores. Selecionar essa opção criptografa o volume do dispositivo raiz, além dos volumes de armazenamento. As versões anteriores exigiam o uso de uma AMI personalizada para criptografar o volume do dispositivo raiz.

    • Para obter mais informações, consulte Opções de criptografia no Guia de gerenciamento do Amazon EMR.

Problemas conhecidos
  • Problema conhecido em clusters com vários nós primários e autenticação Kerberos

    Se você executar clusters com vários nós primários e autenticação Kerberos nas versões 5.20.0 e posteriores do Amazon EMR, poderá encontrar problemas nas operações de cluster, como redução da escala verticalmente ou envio de etapas depois que o cluster estiver em execução por algum tempo. O período depende do período de validade do tíquete do Kerberos que você definiu. O problema de redução da escala verticalmente afeta tanto as solicitações de redução automática quanto as de reduções explícitas que você enviou. Operações adicionais de cluster também podem ser afetadas.

    Solução:

    • SSH como usuário do hadoop para o nó primário de liderança do cluster do EMR com vários nós primários.

    • Execute o comando a seguir para renovar o tíquete do Kerberos para o usuário do hadoop.

      kinit -kt <keytab_file> <principal>

      Normalmente, o arquivo keytab está localizado em /etc/hadoop.keytab e a entidade principal está na forma de hadoop/<hostname>@<REALM>.

    nota

    Essa solução alternativa entrará em vigor durante o período de validade do tíquete do Kerberos. Essa duração é de 10 horas por padrão, mas pode ser configurada pelas definições do Kerberos. Você deve executar novamente o comando acima quando o tíquete do Kerberos expirar.

Versões de componente 5.25.0

Os componentes que o Amazon EMR instala com esta versão estão listados abaixo. Alguns são instalados como parte de pacotes de aplicativos de big data. Outros são exclusivos do Amazon EMR e instalados para processos e atributos do sistema. Eles normalmente começam com emr ou aws. Os pacotes de aplicações de big data na versão mais recente do Amazon EMR são geralmente a versão mais recente encontrada na comunidade. Disponibilizamos as versões da comunidade no Amazon EMR o mais rapidamente possível.

Alguns componentes no Amazon EMR diferem das versões da comunidade. Esses componentes tem um rótulo de versão no formulário CommunityVersion-amzn-EmrVersion. O EmrVersion começa em 0. Por exemplo, se um componente da comunidade de código aberto denominado myapp-component com a versão 2.2 tiver sido alterado três vezes para inclusão em versões diferentes do Amazon EMR, sua versão será listada como 2.2-amzn-2.

Componente Version (Versão) Descrição
aws-sagemaker-spark-sdk1.2.4Spark SDK para o Amazon SageMaker
emr-ddb4.10.0O conector do Amazon DynamoDB para aplicativos do ecossistema do Hadoop.
emr-goodies2.9.0Bibliotecas convenientes para o ecossistema do Hadoop.
emr-kinesis3.4.0O conector do Amazon Kinesis para aplicativos do ecossistema do Hadoop.
emr-s3-dist-cp2.11.0Cópia distribuída otimizada de aplicativos para o Amazon S3.
emr-s3-select1.3.0EMR S3Select Connector
emrfs2.34.0O conector do Amazon S3 para aplicações do ecossistema do Hadoop.
flink-client1.8.0Scripts do cliente da linha de comando e aplicativos do Apache Flink.
ganglia-monitor3.7.2O agente incorporado do Ganglia para aplicativos do ecossistema do Hadoop, juntamente com o agente de monitoramento do Ganglia.
ganglia-metadata-collector3.7.2O coletor de metadados do Ganglia para agregar métricas de agentes de monitoramento do Ganglia.
ganglia-web3.7.1O aplicativo web para visualizar as métricas coletadas pelo coletor de metadados do Ganglia.
hadoop-client2.8.5-amzn-4Clientes da linha de comando do Hadoop, como 'hdfs', 'hadoop', ou 'yarn'.
hadoop-hdfs-datanode2.8.5-amzn-4O serviço de nível de nó do HDFS para armazenamento de blocos.
hadoop-hdfs-library2.8.5-amzn-4O cliente de linha de comando e biblioteca do HDFS
hadoop-hdfs-namenode2.8.5-amzn-4O serviço do HDFS para rastrear nomes de arquivos e locais de blocos.
hadoop-hdfs-journalnode2.8.5-amzn-4O serviço do HDFS para gerenciar o lançamento de arquivos do Hadoop em clusters de HA.
hadoop-httpfs-server2.8.5-amzn-4O endpoint de HTTP para as operações do HDFS.
hadoop-kms-server2.8.5-amzn-4O servidor de gerenciamento de chaves criptográficas baseado na API de KeyProvider do Hadoop.
hadoop-mapred2.8.5-amzn-4As bibliotecas do mecanismo de execução do MapReduce para a execução de aplicativos do MapReduce.
hadoop-yarn-nodemanager2.8.5-amzn-4O serviço do YARN para o gerenciamento de contêineres em um nó individual.
hadoop-yarn-resourcemanager2.8.5-amzn-4O serviço do YARN para alocar e gerenciar recursos de cluster e aplicativos distribuídos.
hadoop-yarn-timeline-server2.8.5-amzn-4O serviço para recuperar informações atuais e históricas dos aplicativos do YARN.
hbase-hmaster1.4.9O serviço de um cluster do HBase responsável pela coordenação de regiões e execução de comandos administrativos.
hbase-region-server1.4.9O serviço que abrange uma ou mais regiões do HBase.
hbase-client1.4.9O cliente da linha de comando do HBase.
hbase-rest-server1.4.9O serviço que fornece um endpoint do HTTP RESTful para o HBase.
hbase-thrift-server1.4.9O serviço que fornece um endpoint do Thrift para o HBase.
hcatalog-client2.3.5-amzn-0O cliente da linha de comando 'hcat' para manipular o hcatalog-server.
hcatalog-server2.3.5-amzn-0O serviço que fornece a HCatalog, uma camada de gerenciamento de tabelas e armazenamento para aplicativos distribuídos.
hcatalog-webhcat-server2.3.5-amzn-0O endpoint do HTTP que fornece uma interface REST para a HCatalog.
hive-client2.3.5-amzn-0O cliente da linha de comando do Hive.
hive-hbase2.3.5-amzn-0Cliente do Hive-hbase.
hive-metastore-server2.3.5-amzn-0O serviço de acesso à metastore do Hive, um repositório de semântica que armazena metadados do SQL nas operações do Hadoop.
hive-server22.3.5-amzn-0O serviço que aceita as consultas do Hive como solicitações da web.
hue-server4.4.0O aplicativo web para analisar dados usando aplicativos do ecossistema do Hadoop
jupyterhub0.9.6Servidor de vários usuários para blocos de anotações Jupyter
livy-server0.6.0-incubatingInterface REST para interagir com o Apache Spark
nginx1.12.1nginx [mecanismo x] é um servidor de proxy reverso e HTTP
mahout-client0.13.0A biblioteca de Machine Learning.
mxnet1.4.0Uma biblioteca flexível, escalável e eficiente para aprendizado aprofundado.
mysql-server5.5.54+O servidor de banco de dados MySQL.
nvidia-cuda9.2.88Drivers NVIDIA e toolkit CUDA
oozie-client5.1.0O cliente da linha de comando do Oozie.
oozie-server5.1.0O serviço que aceita solicitações de fluxo de trabalho do Oozie.
opencv3.4.0Biblioteca de Visão Computacional de Código Aberto.
phoenix-library4.14.1-HBase-1.4As bibliotecas do phoenix para servidor e cliente
phoenix-query-server4.14.1-HBase-1.4Um servidor leve que fornece acesso à JDBC, bem como buffers de protocolo e acesso no formato JSON à API do Avatica
presto-coordinator0.220O serviço que aceita consultas e gerencia a execução de consultas entre os presto-workers.
presto-worker0.220O serviço que executa partes de uma consulta.
pig-client0.17.0O cliente da linha de comando do Pig.
r3.4.1O projeto R para computação estatística
spark-client2.4.3Os clientes da linha de comando do Spark.
spark-history-server2.4.3A interface de usuário da web para visualizar os eventos registrados por toda a vida útil de um aplicativo Spark concluído.
spark-on-yarn2.4.3O mecanismo de execução em memória para o YARN.
spark-yarn-slave2.4.3As bibliotecas do Apache Spark necessárias para subordinados do YARN.
sqoop-client1.4.7O cliente da linha de comando do Apache Sqoop.
tensorflow1.13.1Biblioteca de software de código aberto TensorFlow para computação numérica de alto desempenho.
tez-on-yarn0.9.2O aplicativo e as bibliotecas do YARN para Tez.
webserver2.4.25+O servidor Apache HTTP.
zeppelin-server0.8.1O notebook baseado na web que permite um data analytics interativo.
zookeeper-server3.4.14O serviço centralizado de manutenção de informações de configuração, nomenclatura, fornecimento de sincronização distribuída, e fornecimento de serviços de grupo.
zookeeper-client3.4.14O cliente da linha de comando do ZooKeeper.

Classificações de configuração 5.25.0

As classificações de configuração permitem que você personalize aplicações. Elas geralmente correspondem a um arquivo XML de configuração da aplicação, como hive-site.xml. Para ter mais informações, consulte Configurar aplicações.

Classificações do emr-5.25.0
Classificações Descrição

capacity-scheduler

Alterar os valores no arquivo capacity-scheduler.xml do Hadoop.

container-log4j

Altere os valores no arquivo container-log4j.properties do YARN do Hadoop.

core-site

Alterar os valores no arquivo core-site.xml do Hadoop.

emrfs-site

Alterar as configurações do EMRFS.

flink-conf

Alterar as configurações do flink-conf.yaml.

flink-log4j

Alterar as configurações de log4j.properties no Flink.

flink-log4j-yarn-session

Alterar as configurações de log4j-yarn-session.properties no Flink.

flink-log4j-cli

Alterar as configurações de log4j-cli.properties no Flink.

hadoop-env

Alterar os valores no ambiente do Hadoop para todos os componentes do Hadoop.

hadoop-log4j

Alterar os valores no arquivo log4j.properties do Hadoop.

hadoop-ssl-server

Alterar a configuração do servidor SSL no Hadoop

hadoop-ssl-client

Alterar a configuração do cliente SSL no Hadoop

hbase

As configurações administradas pelo Amazon EMR para o Apache HBase.

hbase-env

Alterar os valores no ambiente do HBase.

hbase-log4j

Alterar os valores no arquivo hbase-log4j.properties do HBase.

hbase-metrics

Altere os valores no arquivo hadoop-metrics2-hbase.properties do HBase.

hbase-policy

Alterar os valores no arquivo hbase-policy.xml do HBase.

hbase-site

Alterar os valores no arquivo hbase-site.xml do HBase.

hdfs-encryption-zones

Configurar as zonas de criptografia do HDFS.

hdfs-site

Alterar os valores no arquivo hdfs-site.xml do HDFS.

hcatalog-env

Alterar os valores no ambiente do HCatalog.

hcatalog-server-jndi

Alterar os valores no jndi.properties do HCatalog.

hcatalog-server-proto-hive-site

Alterar os valores no arquivo proto-hive-site.xml do HCatalog.

hcatalog-webhcat-env

Alterar os valores no ambiente do HCatalog WebHCat.

hcatalog-webhcat-log4j2

Alterar os valores no log4j2.properties do HCatalog WebHCat.

hcatalog-webhcat-site

Alterar os valores no arquivo webhcat-site.xml do HCatalog WebHCat.

hive-beeline-log4j2

Alterar os valores no arquivo beeline-log4j2.properties do Hive.

hive-parquet-logging

Alterar os valores no arquivo parquet-logging.properties do Hive.

hive-env

Alterar os valores no ambiente do Hive.

hive-exec-log4j2

Alterar os valores no arquivo hive-exec-log4j2.properties do Hive.

hive-llap-daemon-log4j2

Alterar os valores no arquivo llap-daemon-log4j2.properties do Hive.

hive-log4j2

Alterar os valores no arquivo hive-log4j2.properties do Hive.

hive-site

Alterar os valores no arquivo hive-site.xml do Hive.

hiveserver2-site

Alterar os valores no arquivo hiveserver2-site.xml do Hive Server2.

hue-ini

Alterar os valores no arquivo ini do Hue

httpfs-env

Alterar os valores no ambiente do HTTPFS.

httpfs-site

Alterar os valores no arquivo httpfs-site.xml do Hadoop.

hadoop-kms-acls

Alterar os valores no arquivo kms-acls.xml do Hadoop.

hadoop-kms-env

Alterar os valores no ambiente do Hadoop KMS.

hadoop-kms-log4j

Alterar os valores no arquivo kms-log4j.properties do Hadoop.

hadoop-kms-site

Alterar os valores no arquivo kms-site.xml do Hadoop.

jupyter-notebook-conf

Alterar os valores no arquivo jupyter_notebook_config.py do Notebook Jupyter.

jupyter-hub-conf

Alterar os valores no arquivo jupyterhub_config.py de JupyterHubs.

jupyter-s3-conf

Configurar a persistência do notebook Jupyter S3.

jupyter-sparkmagic-conf

Altere os valores no arquivo config.json do Sparkmagic.

livy-conf

Alterar os valores no arquivo livy.conf do Livy.

livy-env

Alterar os valores no ambiente do Livy.

livy-log4j

Alterar as configurações de log4j.properties no Livy.

mapred-env

Alterar os valores no ambiente do aplicativo MapReduce.

mapred-site

Alterar os valores no arquivo mapred-site.xml do aplicativo MapReduce.

oozie-env

Alterar os valores no ambiente do Oozie.

oozie-log4j

Alterar os valores no arquivo oozie-log4j.properties do Oozie.

oozie-site

Alterar os valores no arquivo oozie-site.xml do Oozie.

phoenix-hbase-metrics

Alterar os valores no arquivo hadoop-metrics2-hbase.properties do Phoenix.

phoenix-hbase-site

Alterar os valores no arquivo hbase-site.xml do Phoenix.

phoenix-log4j

Alterar os valores no arquivo log4j.properties do Phoenix.

phoenix-metrics

Alterar os valores no arquivo hadoop-metrics2-phoenix.properties do Phoenix.

pig-env

Alterar os valores no ambiente do Pig.

pig-properties

Alterar os valores no arquivo pig.properties do Pig.

pig-log4j

Alterar os valores no arquivo log4j.properties do Pig.

presto-log

Alterar os valores no arquivo log.properties do Presto.

presto-config

Alterar os valores no arquivo config.properties do Presto.

presto-password-authenticator

Altere os valores no arquivo password-authenticator.properties do Presto.

presto-env

Altere os valores no arquivo presto-env.sh do Presto.

presto-node

Altere os valores no arquivo node.properties do Presto.

presto-connector-blackhole

Alterar os valores no arquivo blackhole.properties do Presto.

presto-connector-cassandra

Alterar os valores no arquivo cassandra.properties do Presto.

presto-connector-hive

Alterar os valores no arquivo hive.properties do Presto.

presto-connector-jmx

Alterar os valores no arquivo jmx.properties do Presto.

presto-connector-kafka

Alterar os valores no arquivo kafka.properties do Presto.

presto-connector-localfile

Alterar os valores no arquivo localfile.properties do Presto.

presto-connector-memory

Alterar os valores no arquivo memory.properties do Presto.

presto-connector-mongodb

Alterar os valores no arquivo mongodb.properties do Presto.

presto-connector-mysql

Alterar os valores no arquivo mysql.properties do Presto.

presto-connector-postgresql

Alterar os valores no arquivo postgresql.properties do Presto.

presto-connector-raptor

Alterar os valores no arquivo raptor.properties do Presto.

presto-connector-redis

Alterar os valores no arquivo redis.properties do Presto.

presto-connector-redshift

Alterar os valores no arquivo de propriedades redshift do Presto.

presto-connector-tpch

Alterar os valores no arquivo tpch.properties do Presto.

presto-connector-tpcds

Alterar os valores no arquivo tpcds.properties do Presto.

recordserver-env

Alterar os valores no ambiente RecordServer do EMR.

recordserver-conf

Alterar os valores no arquivo server.properties do RecordServer do RMS.

recordserver-log4j

Alterar os valores no arquivo log4j.properties do RecordServer do do EMR.

spark

As configurações administradas pelo Amazon EMR para o Apache Spark.

spark-defaults

Alterar os valores no arquivo spark-defaults.conf do Spark.

spark-env

Alterar os valores no ambiente do Spark.

spark-hive-site

Alterar os valores no arquivo hive-site.xml do Spark.

spark-log4j

Alterar os valores no arquivo log4j.properties do Spark.

spark-metrics

Alterar os valores no arquivo metrics.properties do Spark.

sqoop-env

Alterar os valores no ambiente do Sqoop.

sqoop-oraoop-site

Alterar os valores no arquivo oraoop-site.xml do Sqoop OraOop.

sqoop-site

Alterar os valores no arquivo sqoop-site.xml do Sqoop.

tez-site

Alterar os valores no arquivo tez-site.xml do Tez.

yarn-env

Alterar os valores no ambiente do YARN.

yarn-site

Alterar os valores no arquivo yarn-site.xml do YARN.

zeppelin-env

Alterar os valores no ambiente do Zeppelin.

zookeeper-config

Alterar os valores no arquivo zoo.cfg do ZooKeeper.

zookeeper-log4j

Alterar os valores no arquivo log4j.properties do ZooKeeper.