BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Google améliore les performances d'Hadoop grâce à un nouveau Cloud Storage Connector

Google améliore les performances d'Hadoop grâce à un nouveau Cloud Storage Connector

Les développeurs utilisent Hadoop pour le big data dans divers environnements de cloud computing, mais Google tente de se démarquer grâce à des investissements dans les sous-systèmes de stockage. Avec un nouveau connecteur, il est maintenant possible pour Hadoop de s’exécuter directement avec Google Cloud Storage au lieu d'utiliser le système de fichiers distribués par défaut. Il en résulte une réduction des coûts de stockage, moins de réplication de données, et un processus d’ensemble plus simple.

Google a joué un rôle dans Hadoop depuis qu’il a dévoilé la recherche sur son système de fichiers en 2003 et MapReduce en 2004. Le service commercial Hadoop de Google, appelé Hadoop on Google Cloud Platform, est décrit comme "un ensemble de scripts de configuration et de bibliothèques de logiciels optimisés pour l'infrastructure de Google". Les jobs Hadoop utilisent généralement du stockage basé sur des disques locaux exécutant le système Hadoop Distributed File System (HDFS), mais ce nouveau Google Cloud Storage Connector for Hadoop tente de simplifer cela. Il rend possible l’utilisation d’Hadoop directement dans Google Cloud Storage plutôt que de copier les données dans un magasin HDFS. Google Cloud Storage - basé sur les dernières technologies de stockage de Google appelé Colossus - est un service de stockage d'objets hautement disponible pour le stockage de grandes quantités de données dans les data-center américains et européens.

Dans un billet de blog annonçant le connecteur, Google a présenté une série d’avantages à utiliser Google Cloud Storage plutôt qu’HDFS pour du traitement Hadoop. Ces avantages incluent un démarrage plus rapide des jobs Hadoop, une plus grande disponibilité des données, une réduction des coûts en raison d’une minimisation des copies de données, données qui survivent après la suppression de clusters, la suppression des activités de maintenance du système de fichiers, et une meilleure performance globale.

Les performances d’Hadoop ont été au centre d'un post d’Accenture’s Technology Labs sur le blog de Google Cloud Platform. Accenture a testé le nouveau connecteur Google Cloud Storage pour Hadoop et publié leurs résultats. Ils ont conçu un indice de référence pour comparer les performances sur les serveurs Hadoop nus et les environnements de cloud. Leur configuration initiale sur le Google Compute Engine suivait les best practices d’Hadoop, mais était relativement complexe.

En menant nos expériences, nous avons utilisé les instances de Google Compute Engine avec des disques locaux et des jobs MapReduce streamés pour copier les données d'entrée/sortie de/vers les HDFS locaux au sein de notre cluster Hadoop.

[...] Cette méthode de flux de données nous a fourni les données dont nous avions besoin pour nos benchmarks au détriment du temps total d'exécution, avec les phases supplémentaires de copie d'entrée et de sortie. En plus de l'augmentation du temps d'exécution, ce modèle de flux de données a également abouti à un code plus complexe pour le lancement et la gestion des expériences. Le code ajouté a nécessité des modifications de nos scripts de banc d'essai pour inclure les copies nécessaires et le débogage supplémentaire ainsi que le temps de test pour s'assurer que les scripts étaient corrects.

L’équipe Accenture a été approchée par Google pour utiliser le nouveau connecteur dans leurs essais, et la configuration Hadoop a été modifiée pour en tirer parti.

Une fois que le connecteur a été configuré, nous avons été capables de changer notre modèle de flux de données en retirant le besoin de copie et en nous donnant la capacité d’accéder directement au Google Cloud Storage pour les données d'entrée et l’écriture des données de sortie. L’accès des données d’entrée par le(s) job(s) MapReduce est alors direct et la capacité à écrire les données de sortie se fait directement dans Google Cloud Storage. Tout cela sans copies supplémentaires via les jobs de streaming de MapReduce. Non seulement le connecteur a réduit les délais d'exécution en supprimant les phases de copie d'entrée et de sortie, mais la capacité d'accéder aux données d'entrée de Google Cloud Storage a aussi démontré des avantages inattendus en termes de performance. Nous avons pu voir de nouvelles baisses dans nos temps d'exécution en raison de la haute disponibilité des données d'entrée par rapport aux accès HDFS.

A travers une gamme de tests Hadoop traditionnels, le nouveau connecteur a supprimé beaucoup de temps d'exécution. Les économies résultent de la suppression de la nécessité de copier les données d'entrée et de sortie, de la distribution uniforme des données entre les nœuds, et d’un transfert de données plus rapide. Le dernier résultat est assez surprenant car on ne s'attend pas à ce qu’un stockage distant surpasse un stockage local.

Cette disponibilité de stockage à distance à une échelle et une taille fournie par Google Cloud Storage donne une façon unique de déplacer et stocker de grandes quantités de données qui ne sont pas disponibles avec des déploiements normaux.

...

Bien que paradoxales, nos expériences prouvent que l'utilisation de stockage à distance pour rendre les données hautement disponibles surpasse HDFS sur disques locaux qui s’appuient sur la localité des données.

L'étude d’Accenture a montré que le traitement Hadoop sur Cloud Google Platform avait un meilleur rapport qualité-prix que les serveurs normaux, et que l'optimisation des performances des serveurs cloud est un exercice complexe, mais précieux.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT