Nœuds esclaves dans le système de fichiers distribué Hadoop (HDFS)

Dans un cluster Hadoop, chaque noeud de données (également connue en tant que nœud esclave

Sommaire

) Exécute un processus de fond nommée DataNode. Ce processus d'arrière-plan (également connu en tant que démon) Garde la trace des tranches de données que le système stocke sur son ordinateur. Il parle régulièrement au serveur maître pour HDFS (connu sous le nom NameNode) de faire rapport sur la santé et l'état des données stockées localement.

Les blocs de données sont stockées sous forme de fichiers RAW dans le système de fichiers local. Du point de vue d'un utilisateur Hadoop, vous avez aucune idée de qui des nœuds esclaves a les morceaux du fichier que vous devez traiter. De l'intérieur de Hadoop, vous ne voyez pas des blocs de données ou comment ils sont distribués à travers le cluster - tout ce que vous voyez est une liste de fichiers dans HDFS.

La complexité de la façon dont les blocs de fichiers sont distribués à travers le cluster est caché - vous ne savez pas comment tout cela est compliqué, et vous ne besoin savoir. En fait, l'esclave nœuds eux-mêmes ne savent même pas ce qui est à l'intérieur des blocs de données qu'ils stockage. Il est le serveur sait que NameNode les mappages de blocs de données qui composent les fichiers stockés dans HDFS.

Mieux vivre grâce à la redondance

Un principe de conception de base de HDFS est le concept de minimiser le coût des nœuds esclaves individuels en utilisant des composants matériels des produits de base. Pour les systèmes hautement évolutifs, cette idée est un judicieux car les coûts ne dégénèrent rapidement lorsque vous avez besoin de centaines ou de milliers de nœuds esclaves. Utilisation du matériel à moindre coût a une conséquence, si, en ce que les composants individuels ne sont pas aussi fiables que du matériel plus coûteux.




Lorsque vous choisissez les options de stockage, considérer l'impact de l'utilisation de lecteurs de matières premières plutôt que les plus chers disques durs d'entreprise de qualité. Imaginez que vous avez un cluster de 750 nœuds, où chaque noeud dispose de 12 disques durs dédiés au stockage HDFS.

Basé sur un taux de défaillance annuel (AFR) de 4 pour cent pour les disques durs des produits de base (un disque dur donné a une 4 pour cent la probabilité d'échouer dans une année donnée, en d'autres termes), le cluster sera probablement l'expérience d'une panne de disque dur tous les jours de l'année.

Parce qu'il peut y avoir autant de nœuds esclaves, leur échec est également un phénomène courant dans les grandes grappes avec des centaines ou plusieurs noeuds. Avec cette information à l'esprit, HDFS a été conçu sur l'hypothèse que tous composants matériels, même au niveau du noeud esclave, ne sont pas fiables.

HDFS surmonte le manque de fiabilité des composants matériels individuels par le biais de la redondance: Voilà l'idée derrière ces trois copies de chaque fichier stocké dans HDFS, répartis dans tout le système. Plus précisément, chaque bloc de fichier stocké dans HDFS dispose d'un total de trois répliques. Si un seul système rompt avec un bloc de fichier spécifique que vous avez besoin, vous pouvez vous tourner vers les deux autres.

Esquissant conception esclave serveur de nœud

Pour équilibrer ces facteurs importants que le coût total de possession, la capacité de stockage, et de la performance, vous avez besoin de planifier soigneusement la conception de vos nœuds esclaves.

Vous voyez souvent des nœuds esclaves désormais où chaque noeud a généralement entre 12 et 16 connectés localement 3 To de disque dur. Nœuds esclaves utilisent les processeurs dual-socket moyennement rapide avec six à huit cœurs chacun - pas de démons de vitesse, en d'autres termes. Ceci est accompagné par 48 Go de mémoire vive. En bref, ce serveur est optimisée pour le stockage dense.

Parce que HDFS est un système de fichiers de l'espace au niveau utilisateur, il est important d'optimiser le système de fichiers local sur les nœuds esclaves pour travailler avec HDFS. À cet égard, une seule décision à fort impact lors de la configuration de vos serveurs est de choisir un système de fichiers pour l'installation de Linux sur les nœuds esclaves.

Ext3 est le système de fichier le plus couramment déployé parce qu'il a été l'option la plus stable pour un certain nombre d'années. Jetez un oeil à Ext4, cependant. Il est la prochaine version de Ext3, et il a été disponible suffisamment longtemps pour être largement considéré comme stable et fiable.

Plus important encore pour nos fins, il a un certain nombre d'optimisations pour la manipulation de gros fichiers, ce qui en fait un choix idéal pour HDFS serveurs de noeud esclave.

Ne pas utiliser le gestionnaire de volumes logiques Linux (LVM) - il représente une couche supplémentaire entre le système et HDFS de fichiers Linux, ce qui empêche Hadoop de l'optimisation de sa performance. Plus précisément, LVM regroupe les disques, ce qui entrave la gestion des ressources qui HDFS et de fils font, basé sur la façon dont les fichiers sont distribués sur les disques physiques.


» » » » Nœuds esclaves dans le système de fichiers distribué Hadoop (HDFS)