FAQ HadoopConsultez toutes les FAQ

Nombre d'auteurs : 3, nombre de questions : 41, dernière mise à jour : 4 septembre 2014  Ajouter une question

 

Cette faq a été réalisée à partir des questions fréquemment posées sur les forums de http://www.developpez.com et de l'expérience personnelle des auteurs et de la traduction de la documentation officielle d'Hadoop.

Nous tenons à souligner que cette faq ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette faq ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.

Sur ce, nous vous souhaitons une bonne lecture.

L'équipe Big Data


SommaireGénéralités (11)
précédent sommaire suivant
 

Hadoop est une plate-forme de calcul distribué écrite en Java. Elle intègre des fonctionnalités similaires à celles du système de fichiers distribué Google File System et du modèle de programmation MapReduce. Pour plus de détails, voir le tutoriel d'introduction à Apache Hadoop.

Mis à jour le 18 août 2014 Mickael Baron

[Traduction de la FAQ officielle]

  1. Java 1.6.x ou plus, de préférence celle fournie par Oracle (voir HadoopJavaVersions).
  2. Linux et Windows sont les systèmes d'exploitation pris en charge, mais Hadoop fonctionne aussi avec BSD, Mac OS / X (Windows nécessite l'installation de Cygwin).

Mis à jour le 18 août 2014 Lolo78

[Traduction de la FAQ officielle]

Hadoop a été testé avec succès sur des clusters de serveurs atteignant 4.000 nœuds. Les performances de tri sur 900 nœuds sont bonnes (le tri de 9 To de données sur 900 nœuds prend environ 1,8 heure) et peuvent être améliorées en utilisant ces valeurs de configuration non standard :

  • dfs.block.size = 134217728 ;
  • dfs.namenode.handler.count = 40 ;
  • mapred.reduce.parallel.copies = 20 ;
  • mapred.child.java.opts = -Xmx512m ;
  • fs.inmemory.size.mb = 200 ;
  • io.sort.factor = 100 ;
  • io.sort.mb = 200 ;
  • io.file.buffer.size = 131072.


Les performances de tri sur 1400 nœuds et 2000 nœuds sont également très honorables : le tri 14 téraoctets de données sur 1400 nœuds prend 2,2 heures ; le tri de 20 téraoctets sur 2000 nœuds prend 2,5 heures. Les valeurs de configuration modifiées sont les suivantes :
  1. mapred.job.tracker.handler.count = 60 ;
  2. mapred.reduce.parallel.copies = 50 ;
  3. tasktracker.http.threads = 50 ;
  4. mapred.child.java.opts = -Xmx1024m.

Mis à jour le 18 août 2014 Lolo78

[Traduction de la FAQ officielle]

Des ordinateurs à doubles processeurs ou doubles-cœurs ayant 4 à 8 Go de mémoire vive de type ECC (Error Checking & Correction memory), selon les besoins. Les ordinateurs doivent être des PC de haut de gamme, afin d'obtenir le meilleur rapport performance/prix ; ils coûtent typiquement entre la moitié et les deux tiers d'un serveur de production applicatif habituel, mais ce ne sont pas des ordinateurs de type bureautique. L'ordre de prix se situe entre 2000 et 5000 dollars. Pour plus de détails, voir la page Machinescaling.

Mis à jour le 18 août 2014 Lolo78

[Traduction de la FAQ officielle]

La réponse s'applique également au cas où une machine s'est arrêtée brutalement et a redémarré, et vous voulez qu'elle rejoigne le cluster Hadoop. Il n'y a pas besoin d'arrêter et/ou de redémarrer l'ensemble du cluster.

Il faut d'abord ajouter le nom DNS du nouveau nœud dans le fichier de configuration des esclaves sur le nœud maître.

Ensuite, se connecter au nouveau nœud esclave et exécuter les commandes suivantes :

Code : Sélectionner tout
1
2
3
$ cd path/to/hadoop 
$ bin/hadoop-daemon.sh start datanode 
$ bin/hadoop-daemon.sh start tasktracker
Si vous utilisez la fonctionnalité dfs.include/mapred.include, il vous faudra encore ajouter le nœud au fichier de configuration dfs.include/mapred.include file et exécuter les commandes de mise à jour hadoop dfsadmin -refreshNodes et hadoop mradmin -refreshNodes, afin que le NameNode et le JobTracker soient informés de l'ajout du nouveau nœud.

Mis à jour le 18 août 2014 Lolo78

[Traduction de la FAQ officielle]

Il existe des interfaces Web pour connaître à la fois l'état d'exécution des Jobs MapReduce (JobTracker) et l'état des données (NameNode). Ces interfaces Web sont accessibles par défaut via les adresses suivantes : http://job.tracker.addr:50030/ et http://name.node.addr:50070/.

La page d'état du JobTracker affichera l'état de tous les nœuds, ainsi que les queues d'exécution et l'état de tous les Jobs et tâches en cours. La page d'état NameNode affichera l'état de tous les nœuds ainsi que la quantité d'espace libre ; elle permet également de parcourir le système de fichiers distribué (DFS) via le Web.

Vous pouvez également consulter les données de base sur l'état de santé du cluster HDFS à l'aide de la commande suivante :

Code : Sélectionner tout
$ bin/hadoop dfsadmin -report

Mis à jour le 18 août 2014

[Traduction de la FAQ officielle]

Tout dépendra du type de traitements que vous exécutez sur le cluster Hadoop. Un calcul approximatif pourrait être quelque chose comme ceci.

60 nœuds au total sur deux baies, soit 30 nœuds par baies. Chaque nœud devrait pouvoir traiter environ 100 Mo/s de données pour un tri dans lequel les données intermédiaires ont la même taille que les données en entrée, ce qui signifie que chaque nœud doit traiter 100 Mo/s de données par seconde. Au total, chaque baies produit approximativement 3 Go/s. Cependant, compte tenu de la réduction (opération de type reduce) à l'intérieur d'une baie, chaque baie devra envoyer 1,5 Go/s de données aux réducteurs fonctionnant sur l'autre baie. Comme la connexion est en "full duplex", cela signifie que vous aurez besoin de 1,5 Go de bande passante entre les châssis pour un traitement théorique. Soit un total de 12 Go/s.

Cependant, les calculs ci-dessus sont probablement quelque peu pessimistes. Une grande partie des traitements ont un taux de réduction de données meilleur durant la phase de Map, par exemple en raison d'un bon niveau de filtration/sélection dans le Mapper, ou en raison d'une utilisation efficace des Combiners. En outre, une compression intermédiaire des données peut réduire considérablement le transfert de données intermédiaires. Enfin, bien que vos disques soient capables de fournir un débit théorique de 100 Mo en continu, il serait plutôt rare de voir une exécution d'un Job MapReduce nécessitant un tel débit. Ainsi, les estimations précédentes sont trop élevées d'au moins un facteur de 2.

En définitive, la réponse est simple : 4-6 Go/s est probablement très bien pour les Jobs les plus courants. Si vous souhaitez plus de sécurité, de nombreux switch's bon marché peuvent fonctionner dans une configuration dite "stacked", où la bande passante entre switch's est essentiellement interne au switch. Ceci pourrait nous amener à 96 nœuds avec une bonne marge de sécurité. De nombreux switch's bon marché ayant des débits de l'ordre du Go ont aussi un ou deux ports 10GigE (Go/s sur un switch Ethernet (fonctionnement en câble de cuivre ou fibre optique)) qui peuvent être utilisés pour se connecter les uns aux autres ou à un noyau de 10 GE (matériel fonctionnant sur du 10 gigaoctets Ethernet par seconde).

Mis à jour le 19 août 2014

[Traduction de la FAQ officielle]

Si vous avez rencontré des difficultés à utiliser Hadoop, et que vous avez trouvé une solution (peut-être à l'aide des listes de diffusion), partagez cette connaissance avec les autres utilisateurs en proposant des entrées à cette FAQ.

Si vous pensez avoir trouvé quelque chose qui pourrait améliorer Hadoop, consultez la page HowtoContribute de façon à proposer un patch.

Mis à jour le 19 août 2014

[Traduction de la FAQ officielle]

Un répertoire dans lequel un utilisateur peut écrire est nécessaire, et ce sans interférer avec les autres utilisateurs. Si le nom de l'utilisateur ne figurait pas dans le chemin, alors différents utilisateur devraient utiliser le même répertoire tmp. Cela pourrait poser des problèmes d’autorisation ou de privilèges, si le masque des privilèges par défaut d'un utilisateur n'autorise pas les droits en écriture des autres utilisateurs. Cela pose également le problème de conflits entre utilisateurs si, par exemple, deux utilisateurs manipulent le système HDFS en même temps (cas du formatage).

Mis à jour le 19 août 2014

[Traduction de la FAQ officielle]

Hadoop utilisait des scripts (par exemple, start-mapred.sh et start-dfs.sh) s'appuyant sur SSH pour démarrer ou arrêter des services Unix et autres utilitaires. Le framework Hadoop n'a pas besoin de SSH. Les services (e.g. TaskTracker et DataNode) peuvent être démarrés manuellement sur chaque nœud sans l'aide des scripts.

Mis à jour le 25 août 2014

[Traduction de la FAQ officielle]

Un détail de toutes les listes de diffusion est disponible à l'adresse suivante : http://hadoop.apache.org/mailing_lists.html. De manière générale :

  • générale s'intéresse aux aspects administratifs et marketing de Hadoop (par exemple un communiqués de presse) ;
  • user@hadoop.apache.org souhaitant des informations sur les différents composants du framework ;
  • [i]la liste de diffusion de type *-dev s'adresse aux personnes qui contribuent au code du framework. Par hasard, si vous mettez en œuvre un nouveau système de fichiers et avez besoin d'informations sur l'API FileSystem, hdfs-dev, est la liste de diffusion qui vous concerne.

Mis à jour le 29 août 2014

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2017 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Contacter le responsable de la rubrique Big Data