Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Computação
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gerenciamento e governança
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migração
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análises
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Outros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Segurança e conformidade
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Blockchain
Blockchain Service
Serviços de mídia
Media Processing Center
Video On Demand
Live
SparkRTC
Armazenamento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Cloud Server Backup Service
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bancos de dados
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicações de negócios
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribuição de conteúdo e computação de borda
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluções
SAP Cloud
High Performance Computing
Serviços para desenvolvedore
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
MacroVerse aPaaS
KooPhone
KooDrive
Central de ajuda/ MapReduce Service/ Visão geral de serviço/ Componentes/ MapReduce/ Recursos de código aberto aprimorados do MapReduce

Recursos de código aberto aprimorados do MapReduce

Atualizado em 2023-05-19 GMT+08:00

Recurso aprimorado de código aberto de MapReduce: JobHistoryServer HA

JobHistoryServer (JHS) é o servidor usado para exibir informações históricas de tarefas do MapReduce. Atualmente, o JHS de código aberto suporta apenas serviços de instância única. O JHS HA pode resolver o problema de um aplicativo não acessar a API do MapReduce quando os SPOFs ocorrem no JHS, o que faz com que o aplicativo não seja executado. Isso melhora muito a alta disponibilidade do serviço MapReduce.

Figura 1 Transição de status da alternância ativa/em espera de JobHistoryServer HA

JobHistoryServer de alta disponibilidade

  • O ZooKeeper é usado para implementar a eleição ativa/em espera e a alternância.
  • O JHS usa o endereço IP flutuante para fornecer serviços externamente.
  • Os modos JHS da única instância e da implantação da HA são apoiados.
  • Apenas um nó inicia o processo de JHS em um ponto de tempo para impedir que várias operações de JHS processem o mesmo arquivo.
  • Você pode executar expansão, redução, migração de instâncias, atualização e verificação de integridade.

Recurso de código aberto aprimorado: melhorando o desempenho do MapReduce por otimizar o processo de mesclagem/classificação em cenários específicos

A figura abaixo mostra o fluxo de trabalho de uma tarefa do MapReduce.

Figura 2 Job de MapReduce
Figura 3 Fluxo de execução de jobs de MapReduce

O processo de Reduce é dividido em três etapas diferentes: copiar, classificar (na verdade, deveria ser chamado de mesclar) e reduzir. Na fase de copiar, o Reducer tenta buscar a saída do Maps do NodeManagers e armazená-la no Reducer na memória ou no disco. Fase de embaralhamento (classificar e mesclar), em seguida, começa. Todas as saídas de mapa obtidas estão sendo classificadas, e os segmentos de diferentes saídas de mapas são mesclados antes de serem enviados para o Reducer. Quando um job tem um grande número de mapas a serem processados, o processo de embaralhamento é demorado. Para tarefas específicas (por exemplo, tarefas de SQL como junção de hash e agregação de hash), a classificação não é obrigatória durante o processo de embaralhamento. No entanto, a classificação é necessária por padrão no processo de embaralhamento.

Esse recurso é aprimorado usando a API de MapReduce, que pode fechar automaticamente o processo de classificação para essas tarefas. Quando a classificação é desativada, a API mescla diretamente os dados de saída do Maps buscados e envia os dados para o Reducer. Isso economiza muito tempo e melhora significativamente a eficiência das tarefas de SQL.

Recurso de código aberto aprimorado: problema do arquivo pequeno de log resolvido após a otimização do MR History Server

Após a execução do job no Yarn, o NodeManager usa o LogAggregationService para coletar e enviar logs gerados ao HDFS e excluí-los do sistema de arquivos local. Depois que os logs são armazenados no HDFS, eles são gerenciados pelo MR HistoryServer. O LogAggregationService mesclará logs locais gerados por contêineres em um arquivo de log e o enviará para o HDFS, reduzindo o número de arquivos de log até certo ponto. No entanto, em um cluster de grande escala e ocupado, haverá arquivos de log excessivos no HDFS após a execução de longo prazo.

Por exemplo, se houver 20 nós, cerca de 18 milhões de arquivos de log são gerados no período de limpeza padrão (15 dias), que ocupam cerca de 18 GB da memória de um NameNode e diminuem a resposta do sistema HDFS.

Somente a leitura e a exclusão são necessárias para arquivos armazenados no HDFS. Portanto, o Hadoop Archives pode ser usado para arquivar periodicamente o diretório de arquivos de log coletados.

Arquivar logs

O módulo AggregatedLogArchiveService é adicionado ao MR HistoryServer para verificar periodicamente o número de arquivos no diretório de log. Quando o número de arquivos atinge o limite, o AggregatedLogArchiveService inicia uma tarefa de arquivamento para arquivar arquivos de log. Após o arquivamento, ele exclui os arquivos de log originais para reduzir os arquivos de log no HDFS.

Limpar logs arquivados

Hadoop Archives não suporta exclusão em arquivos arquivados. Portanto, todo o pacote de log de arquivamento deve ser excluído durante a limpeza de log. O tempo de geração de log mais recente é obtido modificando o módulo AggregatedLogDeletionService. Se todos os arquivos de log atenderem aos requisitos de limpeza, o pacote de log de arquivamento poderá ser excluído.

Navegar pelos logs arquivados

Hadoop Archives permite acesso baseado em URI ao conteúdo do arquivo no pacote de log do arquivo. Portanto, se o MR History Server detectar que os arquivos de log originais não existem durante a navegação de arquivos, ele redirecionará diretamente o URI para o pacote de log de arquivamento para acessar o arquivo de log arquivado.

  • Esta função invoca Hadoop Archives do HDFS para arquivamento de logs. Porque a execução de uma tarefa de arquivamento pelo Hadoop Archives é executar uma aplicação de MR. Portanto, depois que uma tarefa de arquivamento é executada, um registro de execução de MR é adicionado.
  • Esta função de arquivamento de logs é baseada na função de coleta de logs. Por conseguinte, esta função só é válida quando a função de recolha de registos está ativada.

Usamos cookies para aprimorar nosso site e sua experiência. Ao continuar a navegar em nosso site, você aceita nossa política de cookies. Saiba mais

Feedback

Feedback

Feedback

0/500

Conteúdo selecionado

Envie o conteúdo selecionado com o feedback