Qu'est-ce qui rend Cloudera spécial et comment l'utiliser

Le marché de l'informatique répartie et des données volumineuses, si l'on en croit les statistiques, croßt de 18 à 19 % par an. Cela signifie que la question du choix des logiciels pour ces objectifs reste d'actualité. Dans cet article, nous commencerons par expliquer pourquoi l'informatique répartie est nécessaire, nous examinerons plus en détail le choix des logiciels, nous parlerons de l'utilisation de Hadoop avec Cloudera et, enfin, nous aborderons le choix du matériel et la maniÚre dont il influence la performance de différentes maniÚres.

Qu'est-ce qui rend Cloudera spécial et comment l'utiliser
Pourquoi l'informatique rĂ©partie est-elle nĂ©cessaire dans les entreprises ordinaires ? C'est Ă  la fois simple et complexe. Simple — car dans la plupart des cas, nous rĂ©alisons des calculs relativement simples par unitĂ© d'information. Complexe — parce que cette information est abondante. TrĂšs abondante. En consĂ©quence, nous devons traiter des tĂ©raoctets de donnĂ©es en 1000 flux. Ainsi, les scĂ©narios d'utilisation sont plutĂŽt universels : les calculs peuvent ĂȘtre appliquĂ©s partout oĂč il est nĂ©cessaire de prendre en compte un grand nombre de mĂ©triques sur des ensembles de donnĂ©es encore plus vastes.

Un des exemples récents : la chaßne de pizzerias Dodo Pizza a déterminé sur la base de l'analyse de la base de données des commandes des clients, que lors du choix d'une pizza à garniture aléatoire, les utilisateurs se basent généralement sur six ensembles d'ingrédients de base, plus quelques aléatoires. En conséquence, la pizzeria a ajusté ses achats. De plus, cela lui a permis de mieux recommander des produits supplémentaires lors de la commande, ce qui a permis d'augmenter les profits.

Un autre exemple : l'analyse des articles a permis au magasin H&M de réduire son assortiment dans certains magasins de 40 %, tout en maintenant son niveau de ventes. Cela a été possible en excluant les articles peu vendus, en tenant compte de la saisonnalité.

Choix de l'outil

La norme industrielle pour ce type de calcul est Hadoop. Pourquoi ? Parce que Hadoop est un excellent framework bien documentĂ© (mĂȘme Habr publie de nombreux articles dĂ©taillĂ©s Ă  ce sujet), qui est accompagnĂ© d'un ensemble d'outils et de bibliothĂšques. Vous pouvez lui soumettre d'Ă©normes ensembles de donnĂ©es Ă  la fois structurĂ©es et non structurĂ©es, et le systĂšme s'occupera de les rĂ©partir entre les ressources de calcul. De plus, ces ressources peuvent ĂȘtre accrus ou diminuĂ©s Ă  tout moment — c'est la scalabilitĂ© horizontale en action.

En 2017, la société de conseil influente Gartner a conclu, que Hadoop serait bientÎt obsolÚte. La raison est assez banale : les analystes estiment que les entreprises commenceront à migrer massivement vers le cloud, car elles pourront payer en fonction de leur utilisation des ressources de calcul. Un deuxiÚme facteur important qui pourrait prétendument « enterrer » Hadoop est la vitesse de fonctionnement. En effet, des options comme Apache Spark ou Google Cloud DataFlow fonctionnent plus rapidement que MapReduce, qui est à la base de Hadoop.

Hadoop repose sur plusieurs piliers, les plus notables Ă©tant les technologies MapReduce (un systĂšme de rĂ©partition des donnĂ©es pour des calculs entre serveurs) et le systĂšme de fichiers HDFS. Ce dernier est spĂ©cifiquement conçu pour stocker des informations rĂ©parties entre les nƓuds d'un cluster : chaque bloc de taille fixe peut ĂȘtre placĂ© sur plusieurs nƓuds, et grĂące Ă  la rĂ©plication, la rĂ©silience du systĂšme face aux pannes de certains nƓuds est garantie. Au lieu d'un tableau de fichiers, un serveur spĂ©cial appelĂ© NameNode est utilisĂ©.

L'illustration ci-dessous montre le schéma de fonctionnement de MapReduce. Au premier stade, les données sont divisées selon un critÚre défini, au second, elles sont réparties sur les ressources de calcul, et au troisiÚme, le calcul intervient.

Qu'est-ce qui rend Cloudera spécial et comment l'utiliser
Initialement, MapReduce a été créé par Google pour ses besoins en recherche. Ensuite, MapReduce est devenu open source, et le projet a été pris en charge par Apache. Quant à Google, il a progressivement migré vers d'autres solutions. Un point intéressant : actuellement, Google a un projet appelé Google Cloud Dataflow, présenté comme la prochaine étape aprÚs Hadoop, comme une substitution rapide.

À un examen dĂ©taillĂ©, on constate que Google Cloud Dataflow est basĂ© sur une variante d'Apache Beam, qui inclut le framework bien documentĂ© Apache Spark, ce qui permet d'affirmer que la vitesse d'exĂ©cution des solutions est pratiquement Ă©quivalente. De plus, Apache Spark fonctionne parfaitement sur le systĂšme de fichiers HDFS, ce qui permet de le dĂ©ployer sur des serveurs Hadoop.

Ajoutons Ă  cela le volume de documentation et de solutions prĂȘtes concernant Hadoop et Spark par rapport Ă  Google Cloud Dataflow, et le choix de l'outil devient Ă©vident. De plus, les ingĂ©nieurs peuvent dĂ©cider eux-mĂȘmes quel code exĂ©cuter — pour Hadoop ou Spark — en fonction de la tĂąche, de leur expĂ©rience et de leur qualification.

Cloud ou serveur local

La tendance Ă  la migration vers le cloud a mĂȘme engendrĂ© un terme intĂ©ressant comme Hadoop-as-a-service. Dans ce scĂ©nario, l'administration des serveurs connectĂ©s est devenue trĂšs importante. Car, malheureusement, malgrĂ© sa popularitĂ©, Hadoop pur reste un outil assez complexe Ă  configurer, car beaucoup de choses doivent ĂȘtre faites manuellement. Par exemple, configurer individuellement les serveurs, surveiller leurs indicateurs, et ajuster soigneusement de nombreux paramĂštres. En gros, c'est un travail pour les amateurs et il y a un grand risque de faire des erreurs ou de laisser passer quelque chose.

C'est pourquoi divers distributions sont devenues trĂšs populaires, car elles sont initialement Ă©quipĂ©es d'outils de dĂ©ploiement et d'administration pratiques. L'une des distributions les plus populaires qui supportent Spark et simplifient tout est Cloudera. Elle a des versions payantes et gratuites — et dans la derniĂšre, toutes les fonctionnalitĂ©s principales sont disponibles, sans limitation du nombre de nƓuds.

Qu'est-ce qui rend Cloudera spécial et comment l'utiliser

Lors de la configuration, Cloudera Manager se connectera à vos serveurs via SSH. Un point intéressant : lors de l'installation, il est préférable d'indiquer que cela se fasse avec des packages: des paquets spéciaux, chacun contenant tous les composants nécessaires, configurés pour fonctionner ensemble. En gros, c'est une version améliorée du gestionnaire de paquets.

AprĂšs l'installation, nous obtenons un tableau de bord de gestion du cluster, oĂč l'on peut voir la tĂ©lĂ©mĂ©trie des clusters, les services installĂ©s, et vous pourrez ajouter/supprimer des ressources et modifier la configuration du cluster.

Qu'est-ce qui rend Cloudera spécial et comment l'utiliser

Vous avez devant vous la dĂ©coupe de la fusĂ©e qui vous emmĂšnera vers un avenir radieux avec BigData. Mais avant de dire « c'est parti », jetons un Ɠil sous le capot.

Exigences matérielles

Sur son site, Cloudera mentionne différentes configurations possibles. Les principes généraux sur lesquels elles sont basées sont présentés dans l'illustration :

Qu'est-ce qui rend Cloudera spécial et comment l'utiliser
Cette image optimiste peut ĂȘtre assombrie par MapReduce. En regardant Ă  nouveau le schĂ©ma du chapitre prĂ©cĂ©dent, il devient Ă©vident que presque dans tous les cas, une tĂąche MapReduce peut rencontrer un « goulot d'Ă©tranglement » lors de la lecture des donnĂ©es depuis un disque ou un rĂ©seau. Cela est Ă©galement notĂ© dans le blog de Cloudera. Par consĂ©quent, pour des calculs rapides, y compris ceux via Spark, qui est souvent utilisĂ© pour des calculs en temps rĂ©el, la vitesse d'entrĂ©e/sortie est primordiale. C'est pourquoi, lors de l'utilisation de Hadoop, il est essentiel que le cluster soit composĂ© de machines Ă©quilibrĂ©es et rapides, ce qui, pour dire les choses simplement, n'est pas toujours garanti dans une infrastructure cloud.

L'Ă©quilibrage de la charge est atteint grĂące Ă  l'utilisation de la virtualisation Openstack sur des serveurs avec des processeurs multi-cƓurs puissants. Les nƓuds de donnĂ©es se voient attribuer leurs propres ressources processeur et disques spĂ©cifiques. Dans notre solution Atos Codex Data Lake Engine une large virtualisation est rĂ©alisĂ©e, ce qui nous permet de bĂ©nĂ©ficier Ă  la fois de performances accrues (impact minimal de l'infrastructure rĂ©seau) et de coĂ»ts totaux de possession rĂ©duits (suppression des serveurs physiques superflus).

Qu'est-ce qui rend Cloudera spécial et comment l'utiliser
En utilisant des serveurs BullSequana S200, nous obtenons une charge de travail trĂšs uniforme, dĂ©pourvue de certains goulots d'Ă©tranglement. La configuration minimale comprend 3 serveurs BullSequana S200, chacun avec deux JBOD, plus des S200 supplĂ©mentaires pouvant ĂȘtre connectĂ©s, contenant quatre nƓuds de donnĂ©es chacun. Voici un exemple de la charge dans le test TeraGen :

Qu'est-ce qui rend Cloudera spécial et comment l'utiliser

Des tests avec diffĂ©rents volumes de donnĂ©es et valeurs de rĂ©plication montrent des rĂ©sultats identiques en termes de rĂ©partition de la charge entre les nƓuds du cluster. Ci-dessous se trouve un graphique de la rĂ©partition de l'accĂšs au disque lors des tests de performance.

Qu'est-ce qui rend Cloudera spécial et comment l'utiliser

Les calculs ont Ă©tĂ© rĂ©alisĂ©s sur la base d'une configuration minimale composĂ©e de 3 serveurs BullSequana S200. Cela inclut 9 nƓuds de donnĂ©es et 3 nƓuds principaux, ainsi que des machines virtuelles rĂ©servĂ©es au cas oĂč la protection serait dĂ©ployĂ©e sur la base de l'OpenStack Virtualization. Le rĂ©sultat du test TeraSort : taille de bloc de 512 Mo avec un facteur de rĂ©plication de trois, avec chiffrement, est de 23,1 minutes.

Comment peut-on étendre le systÚme ? Divers types d'extensions sont disponibles pour Data Lake Engine :

  • NƓuds de transfert de donnĂ©es : pour chaque 40 To d'espace utile
  • NƓuds analytiques avec possibilitĂ© d'installation de GPU
  • Autres options selon les besoins de l'entreprise (par exemple, si Kafka est nĂ©cessaire, etc.)

Qu'est-ce qui rend Cloudera spécial et comment l'utiliser

Le complexe Atos Codex Data Lake Engine comprend Ă  la fois les serveurs eux-mĂȘmes et le logiciel prĂ©installĂ©, comprenant le package Cloudera avec licence ; Hadoop lui-mĂȘme, OpenStack avec des machines virtuelles basĂ©es sur le noyau RedHat Enterprise Linux, systĂšme de rĂ©plication des donnĂ©es et de sauvegarde (notamment via le nƓud de sauvegarde et Cloudera BDR - Backup and Disaster Recovery). Atos Codex Data Lake Engine a Ă©tĂ© la premiĂšre solution Ă  utiliser la virtualisation et a Ă©tĂ© certifiĂ©e. Cloudera.

Si vous souhaitez plus de détails, nous serons ravis de répondre à vos questions dans les commentaires.

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster