Dans la poste Présentation de l'outil TCO AWS ProServe Hadoop Migration Delivery Kit, nous avons présenté l'outil TCO AWS ProServe Hadoop Migration Delivery Kit (HMDK) et les avantages de la migration des charges de travail Hadoop sur site vers Amazon DME. Dans cet article, nous plongeons dans l'outil, en parcourant toutes les étapes de l'ingestion de journaux, de la transformation, de la visualisation et de la conception de l'architecture pour calculer le coût total de possession.
Vue d'ensemble de la solution
Passons brièvement en revue les principales fonctionnalités de l'outil HMDK TCO. L'outil fournit un collecteur de journaux YARN pour connecter Hadoop Resource Manager afin de collecter les journaux YARN. Un analyseur de charge de travail Hadoop basé sur Python, appelé analyseur de journaux YARN, examine les applications Hadoop. Amazon QuickSight des tableaux de bord présentent les résultats de l'analyseur. Les mêmes résultats accélèrent également la conception des futures instances EMR. De plus, un calculateur TCO génère l'estimation du TCO d'un cluster EMR optimisé pour faciliter la migration.
Voyons maintenant comment fonctionne l'outil. Le diagramme suivant illustre le workflow de bout en bout.
Dans les sections suivantes, nous passons en revue les cinq étapes principales de l'outil :
- Collectez les journaux d'historique des tâches YARN.
- Transformez les journaux d'historique des tâches de JSON en CSV.
- Analysez les journaux d'historique des tâches.
- Concevoir un cluster EMR pour la migration.
- Calculez le coût total de possession.
Pré-requis
Avant de commencer, assurez-vous de remplir les conditions préalables suivantes :
- Cloner le référentiel hadoop-migration-assesment-tco.
- Installez Python 3 sur votre machine locale.
- Avoir un compte AWS avec l'autorisation sur AWS Lambda, QuickSight (édition Entreprise) et AWS CloudFormation.
Collecter les journaux d'historique des tâches YARN
Tout d'abord, vous lancez un Collecteur de bûches YARN, start-collector.sh, sur votre ordinateur local. Cette étape collecte les journaux Hadoop YARN et place les journaux sur votre ordinateur local. Le script connecte votre machine locale au nœud principal Hadoop et communique avec Resource Manager. Ensuite, il récupère les informations d'historique des travaux (journaux YARN des gestionnaires d'applications) en appelant l'API de l'application YARN ResourceManager.
Avant d'exécuter le collecteur de journaux YARN, vous devez configurer et établir la connexion (HTTP : 8088 ou HTTPS : 8090 ; ce dernier est recommandé) pour vérifier l'accessibilité de YARN ResourceManager et le serveur Timeline YARN activé (Timeline Server v1 ou version ultérieure sont pris en charge ). Vous devrez peut-être définir l'intervalle de collecte et la politique de conservation des journaux YARN. Pour vous assurer que vous collectez des journaux YARN consécutifs, vous pouvez utiliser une tâche cron pour planifier le collecteur de journaux dans un intervalle de temps approprié. Par exemple, pour un cluster Hadoop avec 2,000 1,000 applications quotidiennes et le paramètre yarn.resourcemanager.max-completed-applications défini sur 7 XNUMX, en théorie, vous devez exécuter le collecteur de journaux au moins deux fois pour obtenir tous les journaux YARN. De plus, nous vous recommandons de collecter au moins XNUMX jours de journaux YARN pour analyser les charges de travail globales.
Pour plus de détails sur la configuration et la planification du collecteur de journaux, reportez-vous au dépôt GitHub du collecteur de journaux de fils.
Transformez les journaux d'historique des tâches YARN de JSON en CSV
Après avoir obtenu les journaux YARN, vous exécutez un organisateur de journaux YARN, yarn-log-organizer.py, qui est un analyseur pour transformer les journaux basés sur JSON en fichiers CSV. Ces fichiers CSV de sortie sont les entrées de l'analyseur de journaux YARN. L'analyseur a également d'autres fonctionnalités, notamment le tri des événements par heure, la suppression des dédicaces et la fusion de plusieurs journaux.
Pour plus d'informations sur l'utilisation de l'organiseur de journaux YARN, reportez-vous au dépôt GitHub de l'organisateur de journaux de fils.
Analyser les journaux d'historique des tâches YARN
Ensuite, vous lancez l'analyseur de journaux YARN pour analyser les journaux YARN au format CSV.
Avec QuickSight, vous pouvez visualiser les données du journal YARN et effectuer des analyses par rapport aux ensembles de données générés par des modèles de tableau de bord prédéfinis et un widget. Le widget crée automatiquement des tableaux de bord QuickSight dans le compte AWS cible, qui est configuré dans un modèle CloudFormation.
Le schéma suivant illustre l'architecture HMDK TCO.
L'analyseur de journaux YARN fournit quatre fonctionnalités clés :
- Téléchargez les journaux d'historique des tâches YARN transformés au format CSV (par exemple,
cluster_yarn_logs_*.csv
) À Service de stockage simple Amazon (Amazon S3). Ces fichiers CSV sont les sorties de l'organisateur de journaux YARN. - Créez un fichier manifeste JSON (par exemple,
yarn-log-manifest.json
) pour QuickSight et importez-le dans le compartiment S3 : - Déployez des tableaux de bord QuickSight à l'aide d'un modèle CloudFormation, au format YAML. Après le déploiement, choisissez l'icône d'actualisation jusqu'à ce que l'état de la pile apparaisse comme
CREATE_COMPLETE
. Cette étape crée des ensembles de données sur les tableaux de bord QuickSight dans votre compte cible AWS. - Sur le tableau de bord QuickSight, vous pouvez trouver des informations sur les charges de travail Hadoop analysées à partir de divers graphiques. Ces informations vous aident à concevoir de futures instances EMR pour l'accélération de la migration, comme illustré à l'étape suivante.
Concevoir un cluster EMR pour la migration
Les résultats de l'analyseur de journaux YARN vous aident à comprendre les charges de travail Hadoop réelles sur le système existant. Cette étape accélère la conception des futures instances EMR pour la migration en utilisant un Modèle Excel. Le modèle contient une liste de contrôle pour effectuer l'analyse de la charge de travail et la planification de la capacité :
- Les applications exécutées sur le cluster sont-elles utilisées de manière appropriée avec leur capacité actuelle ?
- Le cluster est-il en charge à un certain moment ou non ? Si oui, quel est le moment ?
- Quels types d'applications et de moteurs (tels que MR, TEZ ou Spark) s'exécutent sur le cluster, et quelle est l'utilisation des ressources pour chaque type ?
- Les cycles d'exécution de différents travaux (en temps réel, par lots, ad hoc) s'exécutent-ils dans un cluster ?
- Des tâches sont-elles exécutées par lots réguliers ? Si oui, quels sont ces intervalles de planification ? (Par exemple, toutes les 10 minutes, 1 heure, 1 jour.) Avez-vous des tâches qui utilisent beaucoup de ressources pendant une longue période ?
- Certains travaux nécessitent-ils une amélioration des performances ?
- Des organisations ou des individus spécifiques monopolisent-ils le cluster ?
- Existe-t-il des emplois mixtes de développement et d'exploitation dans un même cluster ?
Après avoir terminé la liste de contrôle, vous comprendrez mieux comment concevoir la future architecture. Pour optimiser la rentabilité du cluster EMR, le tableau suivant fournit des directives générales pour choisir le bon type de cluster EMR et Cloud de calcul élastique Amazon (Amazon EC2).
Pour choisir le type de cluster et la famille d'instances appropriés, vous devez effectuer plusieurs séries d'analyses par rapport aux journaux YARN en fonction de divers critères. Examinons quelques mesures clés.
Timeline
Vous pouvez trouver des modèles de charge de travail basés sur le nombre d'applications Hadoop exécutées dans une fenêtre de temps. Par exemple, les graphiques quotidiens ou horaires "Count of Records by Startedtime" fournissent les informations suivantes :
- Dans les graphiques de séries temporelles quotidiennes, vous comparez le nombre d'exécutions d'application entre les jours ouvrés et les jours fériés, et entre les jours calendaires. Si les chiffres sont similaires, cela signifie que les utilisations quotidiennes du cluster sont comparables. En revanche, si l'écart est important, la proportion d'emplois ponctuels est importante. Vous pouvez également déterminer les tâches hebdomadaires ou mensuelles possibles certains jours. Dans cette situation, vous pouvez facilement voir des jours spécifiques dans une semaine ou un mois avec une forte concentration de charge de travail.
- Dans les graphiques de séries chronologiques horaires, vous comprenez mieux comment les applications sont exécutées dans des fenêtres horaires. Vous pouvez trouver les heures de pointe et les heures creuses dans une journée.
Utilisateurs
Les journaux YARN contiennent l'ID utilisateur de chaque application. Ces informations vous aident à comprendre qui soumet une candidature à une file d'attente. Sur la base des statistiques d'exécutions d'applications individuelles et agrégées par file d'attente et par utilisateur, vous pouvez déterminer la répartition de la charge de travail existante par utilisateur. Habituellement, les utilisateurs d'une même équipe ont des files d'attente partagées. Parfois, plusieurs équipes ont des files d'attente partagées. Lors de la conception de files d'attente pour les utilisateurs, vous disposez désormais d'informations pour vous aider à concevoir et à distribuer des charges de travail d'application plus équilibrées entre les files d'attente qu'elles ne l'étaient auparavant.
Types d'application
Vous pouvez segmenter les charges de travail en fonction de divers types d'application (tels que Hive, Spark, Presto ou HBase) et exécuter des moteurs (tels que MR, Spark ou Tez). Pour les charges de travail gourmandes en calcul telles que les tâches MapReduce ou Hive-on-MR, utilisez des instances optimisées pour le processeur. Pour les charges de travail gourmandes en mémoire telles que les tâches Hive-on-TEZ, Presto et Spark, utilisez des instances à mémoire optimisée.
Temps écoulé
Vous pouvez classer les applications par runtime. Le modèle CloudFormation intégré crée automatiquement un champ elapsedGroup dans un tableau de bord QuickSight. Cela active une fonctionnalité clé pour vous permettre d'observer les travaux de longue durée dans l'un des quatre graphiques des tableaux de bord QuickSight. Par conséquent, vous pouvez concevoir des architectures futures sur mesure pour ces gros travaux.
Les tableaux de bord QuickSight correspondants incluent quatre graphiques. Vous pouvez explorer chaque graphique, qui est associé à un groupe.
Réservation de groupe Numéro |
Durée d'exécution/durée écoulée d'une tâche |
1 | Moins de 10 minutes |
2 | Entre 10 minutes et 30 minutes |
3 | entre 30 minutes et 1 heure |
4 | Supérieur à 1 heure |
Dans le graphique du groupe 4, vous pouvez vous concentrer sur l'examen des travaux volumineux en fonction de diverses mesures, notamment l'utilisateur, la file d'attente, le type d'application, la chronologie, l'utilisation des ressources, etc. Sur la base de cette considération, vous pouvez avoir des files d'attente dédiées sur un cluster ou un cluster EMR dédié pour les travaux volumineux. En attendant, vous pouvez soumettre de petits travaux à des files d'attente partagées.
Resources
En fonction des modèles de consommation des ressources (processeur, mémoire), vous choisissez la bonne taille et la bonne famille d'instances EC2 pour les performances et la rentabilité. Pour les applications gourmandes en ressources de calcul, nous recommandons des instances de familles optimisées pour le processeur. Pour les applications gourmandes en mémoire, les familles d'instances à mémoire optimisée sont recommandées.
En outre, en fonction de la nature des charges de travail de l'application et de l'utilisation des ressources dans le temps, vous pouvez choisir un cluster EMR persistant ou transitoire, Amazon EMR sur EKSou Amazon EMR sans serveur.
Après avoir analysé les journaux YARN selon diverses métriques, vous êtes prêt à concevoir les futures architectures EMR. Le tableau suivant répertorie des exemples de clusters EMR proposés. Vous trouverez plus de détails dans le référentiel GitHub du calculateur TCO optimisé.
Calculer le coût total de possession
Enfin, sur votre ordinateur local, exécutez tco-input-generator.py pour agréger les journaux d'historique des tâches YARN sur une base horaire avant d'utiliser un modèle Excel pour calculer le coût total de possession optimisé. Cette étape est cruciale car les résultats simulent les charges de travail Hadoop dans les futures instances EMR.
Le prérequis de la simulation TCO est d'exécuter tco-input-generator.py
, qui génère des journaux agrégés toutes les heures. Ensuite, vous ouvrez un fichier de modèle Excel pour activer les macros et fournissez vos entrées dans les cellules vertes pour calculer le TCO. En ce qui concerne les données d'entrée, vous entrez la taille réelle des données sans réplication, ainsi que les spécifications matérielles (vCore, mem) du nœud principal Hadoop et des nœuds de données. Vous devez également sélectionner et télécharger les journaux agrégés horaires précédemment générés. Après avoir défini les variables de simulation TCO, telles que la région, le type EC2, la haute disponibilité Amazon EMR, l'effet moteur, la remise Amazon EC2 et Amazon EBS (EDP), la remise sur volume Amazon S3, le taux de devise locale et le rapport de tarification tâche/cœur EMR EC2 et prix/heure, le simulateur TCO calcule automatiquement le coût optimal des futures instances EMR sur Amazon EC2. Les captures d'écran suivantes montrent un exemple de résultats HMDK TCO.
Pour plus d'informations et d'instructions sur les calculs du TCO HMDK, reportez-vous au référentiel GitHub du calculateur TCO optimisé.
Nettoyer
Une fois toutes les étapes terminées et les tests terminés, procédez comme suit pour supprimer des ressources afin d'éviter des frais :
- Sur la console AWS CloudFormation, choisissez la pile que vous avez créée.
- Selectionnez Supprimer.
- Selectionnez Supprimer la pile.
- Actualisez la page jusqu'à ce que vous voyiez le statut
DELETE_COMPLETE
. - Sur la console Amazon S3, supprimez le compartiment S3 que vous avez créé.
Conclusion
L'outil AWS ProServe HMDK TCO réduit considérablement les efforts de planification de la migration, qui sont les tâches fastidieuses et difficiles d'évaluation de vos charges de travail Hadoop. Avec l'outil HMDK TCO, l'évaluation prend généralement 2 à 3 semaines. Vous pouvez également déterminer le TCO calculé des futures architectures EMR. Avec l'outil HMDK TCO, vous êtes en mesure de comprendre rapidement vos charges de travail et les modèles d'utilisation des ressources. Grâce aux informations générées par l'outil, vous êtes équipé pour concevoir de futures architectures DME optimales. Dans de nombreux cas d'utilisation, un TCO d'un an de l'architecture refactorisée optimisée permet de réaliser d'importantes économies (réduction de 1 à 64 %) sur le calcul et le stockage, par rapport aux migrations Hadoop lift-and-shift.
Pour en savoir plus sur l'accélération de vos migrations Hadoop vers Amazon EMR et l'outil HMDK CTO, consultez le Hadoop Migration Delivery Kit TCO Référentiel GitHub, ou contacter AWS-HMDK@amazon.com.
À propos des auteurs
Parc Sungyoul est Senior Practice Manager chez AWS ProServe. Il aide les clients à innover dans leur entreprise avec les services AWS Analytics, IoT et AI/ML. Il est spécialisé dans les services et technologies de mégadonnées et s'intéresse à la création de résultats commerciaux pour les clients.
Jiseong Kim est architecte de données senior chez AWS ProServe. Il travaille principalement avec des entreprises clientes pour faciliter la migration et la modernisation des lacs de données, et fournit des conseils et une assistance technique sur des projets de Big Data tels que Hadoop, Spark, l'entreposage de données, le traitement de données en temps réel et l'apprentissage automatique à grande échelle. Il comprend également comment appliquer les technologies pour résoudre les problèmes de Big Data et construire une architecture de données bien conçue.
George Zhao est architecte de données senior chez AWS ProServe. C'est un leader expérimenté de l'analyse qui travaille avec les clients d'AWS pour fournir des solutions de données modernes. Il est également un spécialiste du domaine ProServe Amazon EMR qui renseigne les consultants ProServe sur les meilleures pratiques et les kits de livraison pour les migrations Hadoop vers Amazon EMR. Ses domaines d'intérêt sont les lacs de données et la fourniture d'architectures de données modernes dans le cloud.
Kalen Zhang était le responsable technique du segment mondial des données et de l'analyse des partenaires chez AWS. En tant que conseillère de confiance en matière de données et d'analyse, elle a organisé des initiatives stratégiques pour la transformation des données, dirigé des programmes de migration et de modernisation des charges de travail de données et d'analyse, et accéléré les parcours de migration des clients avec des partenaires à grande échelle. Elle est spécialisée dans les systèmes distribués, la gestion des données d'entreprise, l'analyse avancée et les initiatives stratégiques à grande échelle.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- Platoblockchain. Intelligence métaverse Web3. Connaissance Amplifiée. Accéder ici.
- La source: https://aws.amazon.com/blogs/big-data/deep-dive-into-the-aws-proserve-hadoop-migration-delivery-kit-tco-tool/
- 000
- 1
- 10
- 100
- 7
- a
- Capable
- A Propos
- accélérer
- accéléré
- accélère
- accélérer
- accélération
- accessibilité
- Compte
- à travers
- Ad
- ajout
- Supplémentaire
- renseignements supplémentaires
- En outre
- Avancée
- conseiller
- Après
- à opposer à
- AI / ML
- Tous
- Amazon
- Amazon EC2
- Amazon DME
- parmi
- selon une analyse de l’Université de Princeton
- analytique
- il analyse
- l'analyse
- ainsi que
- api
- Application
- applications
- Appliquer
- de manière appropriée
- architecture
- Réservé
- Évaluation de risque climatique
- Assistance
- associé
- automatiquement
- disponibilité
- AWS
- AWS CloudFormation
- basé
- base
- car
- va
- avantages.
- LES MEILLEURS
- les meilleures pratiques
- Améliorée
- jusqu'à XNUMX fois
- Big
- Big Data
- brièvement
- construire
- Développement
- la performance des entreprises
- calculer
- calculé
- calcule
- le calcul
- Calendrier
- appelé
- appel
- capacités
- Compétences
- cas
- Cellules
- certaines
- difficile
- Graphique
- Charts
- Selectionnez
- choose
- le cloud
- Grappe
- recueillir
- Collecte
- collection
- collectionneur
- recueille
- COM
- comparable
- comparer
- par rapport
- complet
- calcul
- concentrer
- concentration
- Conduire
- conduite
- NOUS CONTACTER
- connexion
- connecte
- consécutif
- considération
- Console
- consultants
- consommation
- contient
- Correspondant
- Prix
- les économies de coûts
- Costs
- Processeur
- créée
- crée des
- critères
- crucial
- CTO
- organisée
- Devise
- Courant
- des clients
- Clients
- cycles
- Tous les jours
- tableau de bord
- données
- Lac de données
- gestion des données
- informatique
- ensembles de données
- journée
- jours
- dévoué
- profond
- plongée profonde
- livrer
- page de livraison.
- démontré
- déployer
- Conception
- conception
- détails
- Déterminer
- Développement
- déviation
- différent
- La remise
- distribuer
- distribué
- systèmes distribués
- distribution
- domaine
- down
- pendant
- chacun
- même
- ebs
- édition
- effet
- efficacité
- efforts
- intégré
- permettre
- activé
- permet
- end-to-end
- Moteur
- Moteurs
- assurer
- Entrer
- Entreprise
- clients entreprise
- équipé
- établir
- Ether (ETH)
- événements
- Chaque
- exemple
- exemples
- Excel
- existant
- expérimenté
- faciliter
- familles
- famille
- Fonctionnalité
- Fonctionnalités:
- champ
- Figure
- Déposez votre dernière attestation
- Fichiers
- Trouvez
- finition
- Abonnement
- le format
- De
- fonctionnalités
- plus
- avenir
- Général
- généré
- génère
- obtenez
- obtention
- GitHub
- Global
- Vert
- Réservation de groupe
- lignes directrices
- Hadoop
- Matériel
- vous aider
- aide
- Haute
- Histoire
- Ruche
- fêtes
- holistique
- HEURES
- Comment
- How To
- HTML
- HTTPS
- ICON
- amélioration
- in
- comprendre
- Y compris
- individuel
- individus
- d'information
- les initiatives
- innovons
- contribution
- idées.
- instance
- Des instructions
- intérêt
- intérêts
- introduit
- IOT
- IT
- Emploi
- Emplois
- Voyages
- json
- ACTIVITES
- kit
- lac
- gros
- grande échelle
- lancer
- conduire
- leader
- APPRENTISSAGE
- apprentissage
- LED
- Données menées
- Liste
- charge
- locales
- Location
- Longtemps
- Style
- Lot
- click
- machine learning
- macros
- Entrée
- a prendre une
- gestion
- manager
- Gestionnaires
- de nombreuses
- veux dire
- En attendant
- Mémoire
- fusion
- Métrique
- migration
- minutes
- mixte
- Villas Modernes
- modernisation
- Mois
- mensuel
- PLUS
- plusieurs
- Nature
- Besoin
- next
- nœud
- nœuds
- nombre
- numéros
- observer
- obtention
- ONE
- ouvert
- d'exploitation
- opération
- optimaux
- optimisé
- l'optimisation
- optimum
- organisations
- Autre
- particulier
- les partenaires
- partenaires,
- motifs
- Courant
- effectuer
- performant
- période
- autorisation
- Des endroits
- et la planification de votre patrimoine
- Platon
- Intelligence des données Platon
- PlatonDonnées
- politique
- possible
- Post
- pratique
- pratiques
- conditions préalables
- précédemment
- établissement des prix
- primaire
- Avant
- d'ouvrabilité
- traitement
- Programmes
- projets
- correct
- proposé
- fournir
- fournit
- Python
- vite.
- Tarif
- rapport
- nous joindre
- solutions
- en temps réel
- données en temps réel à grande vitesse.
- recommander
- recommandé
- Articles
- réduit
- en ce qui concerne
- région
- Standard
- enlever
- réplication
- ressource
- Resources
- Résultats
- rétention
- tours
- Courir
- pour le running
- même
- Épargnes
- Escaliers intérieurs
- calendrier
- screenshots
- les sections
- clignotant
- supérieur
- Série
- Services
- set
- mise
- plusieurs
- commun
- montrer
- vitrine
- significative
- de façon significative
- similaires
- étapes
- simulation
- simulateur
- situation
- Taille
- petit
- So
- Solutions
- RÉSOUDRE
- quelques
- Spark
- spécialiste
- spécialise
- Hébergement spécial
- groupe de neurones
- caractéristiques
- empiler
- j'ai commencé
- statistiques
- Statut
- étapes
- Étapes
- storage
- Stratégique
- soumettre
- tel
- Appareils
- combustion propre
- Système
- table
- prend
- Target
- tâches
- équipe
- équipes
- technologie
- Technique
- Les technologies
- modèle
- modèles
- Essais
- La
- El futuro
- leur
- donc
- Avec
- fiable
- Des séries chronologiques
- long
- calendrier
- à
- ensemble
- outil
- Transformer
- De La Carrosserie
- transformé
- oui
- confiance
- types
- sous
- comprendre
- compréhension
- comprend
- Utilisation
- utilisé
- Utilisateur
- utilisateurs
- d'habitude
- divers
- vérifier
- visualisation
- le volume
- marche
- Entreposage
- semaine
- hebdomadaire
- Semaines
- Quoi
- Qu’est ce qu'
- qui
- WHO
- fenêtres
- sans
- workflow
- de travail
- vos contrats
- yaml
- Votre
- zéphyrnet