Question

L'un d'entre vous a-t-il essayé Hadoop ?Peut-il être utilisé sans le système de fichiers distribué qui va avec, dans une architecture sans partage ?Est-ce que cela aurait du sens ?

Je suis également intéressé par vos résultats de performances...

Était-ce utile?

La solution

Oui, vous pouvez utiliser Hadoop sur un système de fichiers local en utilisant les URI de fichiers au lieu des URI hdfs à divers endroits.Je pense que de nombreux exemples fournis avec Hadoop font cela.

C'est probablement bien si vous souhaitez simplement apprendre comment fonctionne Hadoop et le paradigme de base de réduction de carte, mais vous aurez besoin de plusieurs machines et d'un système de fichiers distribué pour bénéficier des réels avantages de l'évolutivité inhérente à l'architecture.

Autres conseils

Hadoop MapReduce peut s'exécuter sur n'importe quel nombre de systèmes de fichiers ou sur des sources de données encore plus abstraites telles que des bases de données.En fait, il existe quelques classes intégrées pour la prise en charge des systèmes de fichiers non HDFS, telles que S3 et FTP.Vous pouvez également facilement créer votre propre format d'entrée en étendant le format de base Classe Format d'entrée.

L'utilisation de HDFS présente cependant certains avantages.L'avantage le plus important est que le planificateur de tâches MapReduce tentera d'exécuter des cartes et des réductions sur les machines physiques qui stockent les enregistrements à traiter.Cela améliore les performances, car les données peuvent être chargées directement à partir du disque local au lieu d'être transférées sur le réseau, ce qui, en fonction de la connexion, peut être plusieurs fois plus lent.

Comme Joe l'a dit, vous pouvez effectivement utiliser Hadoop sans HDFS.Cependant, le débit dépend de la capacité du cluster à effectuer des calculs à proximité de l'endroit où les données sont stockées.L'utilisation de HDFS présente 2 avantages principaux à mon humble avis 1) le calcul est réparti plus uniformément sur le cluster (réduisant la quantité de communication entre les nœuds) et 2) le cluster dans son ensemble est plus résistant aux pannes dues à l'indisponibilité des données.

Si vos données sont déjà partitionnées ou trivialement partitionnables, vous souhaiterez peut-être fournir votre propre fonction de partitionnement pour votre tâche de réduction de carte.

La meilleure façon de comprendre Hadoop est de le télécharger et de commencer à explorer les exemples inclus.Utilisez une machine/VM Linux et votre configuration sera beaucoup plus simple que Mac ou Windows.Une fois que vous vous sentez à l'aise avec les exemples et les concepts, commencez à voir comment votre espace de problèmes pourrait s'intégrer dans le cadre.

Quelques ressources qui pourraient vous être utiles pour plus d'informations sur Hadoop :

Vidéos et présentations du sommet Hadoop

Hadoop :Le guide définitif :Version des gros plans - C'est l'un des rares (seuls ?) livres disponibles sur Hadoop à ce stade.Je dirais que même à ce stade, cela vaut le prix de l'option de téléchargement électronique (le livre est terminé à environ 40 %).

Hadoop: The Definitive Guide: Rough Cuts Version

Calcul parallèle/distribué = VITESSE << Hadoop rend cela vraiment très simple et bon marché puisque vous pouvez simplement utiliser un tas de machines de base !!!

Au fil des années, les capacités de stockage sur disque ont considérablement augmenté, mais les vitesses de lecture des données n'ont pas suivi.Plus vous avez de données sur un disque, plus la recherche est lente.

Hadoop est une variante intelligente de l’approche diviser pour régner en matière de résolution de problèmes.Essentiellement, vous divisez le problème en morceaux plus petits et attribuez les morceaux à plusieurs ordinateurs différents pour effectuer le traitement en parallèle. accélérer les choses plutôt que de surcharger une machine.Chaque machine traite son propre sous-ensemble de données et le résultat est finalement combiné.Hadoop sur un seul nœud ne vous offrira pas la vitesse qui compte.

Pour voir les avantages de Hadoop, vous devez disposer d'un cluster avec au moins 4 à 8 machines standard (en fonction de la taille de vos données) sur le même rack.

Vous n'avez plus besoin d'être un ingénieur de systèmes parallèles super génial pour tirer parti de l'informatique distribuée.Sachez simplement hadoop avec Hive et vous êtes prêt à partir.

oui, hadoop peut être très bien utilisé sans HDFS.HDFS n'est qu'un stockage par défaut pour Hadoop.Vous pouvez remplacer HDFS par n'importe quel autre stockage comme des bases de données.HadoopDB est une augmentation par rapport à Hadoop qui utilise des bases de données au lieu de HDFS comme source de données.Recherchez-le sur Google, vous l'obtiendrez facilement.

Si vous venez juste de vous mouiller les pieds, commencez par télécharger CDH4 et exécutez-le.Vous pouvez facilement l'installer sur une machine virtuelle locale et l'exécuter en "mode pseudo-distribué", ce qui imite fidèlement la façon dont il fonctionnerait dans un cluster réel.

Oui, vous pouvez utiliser le système de fichiers local en utilisant file:// tout en spécifiant le fichier d'entrée, etc. et cela fonctionnerait également avec de petits ensembles de données. Mais la puissance réelle de hadoop est basée sur un mécanisme distribué et de partage.Mais Hadoop est utilisé pour traiter une énorme quantité de données. Cette quantité de données ne peut pas être traitée par une seule machine locale ou même si c'est le cas, cela prendra beaucoup de temps pour terminer le travail. Puisque votre fichier d'entrée se trouve sur un emplacement partagé (HDFS ) plusieurs mappeurs peuvent le lire simultanément et réduisent le temps nécessaire pour terminer le travail.En un mot, vous pouvez l'utiliser avec un système de fichiers local, mais pour répondre aux exigences de l'entreprise, vous devez l'utiliser avec un système de fichiers partagé.

Excellentes réponses théoriques ci-dessus.

Pour changer votre système de fichiers Hadoop en local, vous pouvez le modifier dans le fichier de configuration "core-site.xml" comme ci-dessous pour les versions Hadoop 2.x.x.

 <property>
    <name>fs.defaultFS</name>
    <value>file:///</value>
  </property>

pour les versions Hadoop 1.x.x.

 <property>
    <name>fs.default.name</name>
    <value>file:///</value>
  </property>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top