J'essaie d'installer Hadoop dans la version Ubuntu 12.04. En suivant les instructions de
http://michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/ , j'ai installé à java-6-openjdk
partir du centre logiciel Ubuntu. J'ai mis java_home
en .bashrc
. Également défini java_home
dans Hadoop conf/env.sh
. Lors du formatage du namenode, j'obtiens l'erreur suivante:
usr/lib/jvm/java-6-openjdk/bin/java no such file or directory.
Merci. Mais c'est un OS 64 bits.
Réponses:
Les guides que j'ai suivis quand j'avais 12.04 étaient:
J'étais en fait opposé à celui de MyLearning parce que la première chose qu'il recommandait était Oracle Java 7 au lieu d'OpenJDK 7, mais j'ai eu quelques problèmes avec OpenJDK 7 lors de l'essai, j'ai donc dû aller avec Oracle.
Le guide est principalement simple et le voici:
Installer Java
Créer un utilisateur Hadoop
Où hduser est l'utilisateur Hadoop que vous souhaitez avoir.
Configuration de SSH
Pour être sûr que l'installation SSH s'est bien passée, vous pouvez ouvrir un nouveau terminal et essayer de créer une session ssh à l'aide
hduser
de la commande suivante:réinstaller ssh si localhost ne se connecte pas (vous devrez peut-être ajouter
hduser
à sudo comme ci-dessous)Modifier les Sudoers
Ajoutez à la fin la ligne pour ajouter hduser dans sudoers
Pour enregistrer, appuyez sur CTRL+ X, tapez Yet appuyez surENTER
Désactiver IPv6
ou
Copiez les lignes suivantes à la fin du fichier:
Si vous rencontrez un problème pour vous le dire, vous n'avez pas les autorisations, il suffit d'exécuter la commande précédente avec le compte root (au cas où sudo ne suffirait pas. Pour moi c'était le cas)
Redémarrez maintenant.
Vous pouvez également le faire
sudo sysctl -p
mais je préfère redémarrer.Après le redémarrage, vérifiez que IPv6 est désactivé:
il faut dire 1 . S'il indique 0 , vous avez manqué quelque chose.
Installer Hadoop
Il existe plusieurs façons de procéder, celle suggérée par le Guide est de télécharger à partir du site Apache Hadoop et de décompresser le fichier dans votre
hduser
dossier de départ. Renommez le dossier extrait enhadoop
.L'autre façon est d'utiliser un PPA qui a été testé pour 12.04:
REMARQUE: le PPA peut fonctionner pour certains et pour d'autres non. Celui que j'ai essayé était de télécharger sur le site officiel parce que je ne connaissais pas le PPA.
Mise à jour
$HOME/.bashrc
Vous devrez mettre à jour le
.bashrc
pourhduser
(et pour chaque utilisateur dont vous avez besoin pour administrer Hadoop). Pour ouvrir le.bashrc
fichier, vous devrez l'ouvrir en tant que root:ou
Ensuite, vous ajouterez les configurations suivantes à la fin du
.bashrc
fichierMaintenant, si vous avez OpenJDK7, cela ressemblerait à ceci:
La chose à surveiller ici est le dossier où réside Java avec la version AMD64. Si ce qui précède ne fonctionne pas, vous pouvez essayer de chercher dans ce dossier particulier ou de définir le Java qui sera utilisé avec:
Maintenant, pour un alias utile:
Configuration de Hadoop
Les fichiers de configuration suivants peuvent être utilisés pour effectuer la configuration appropriée. Certains des fichiers que vous utiliserez avec Hadoop sont (Plus d'informations sur ce site ):
start-dfs.sh
- Démarre les démons Hadoop DFS, le namenode et les datanodes. Utilisez-le avant start-mapred.shstop-dfs.sh
- Arrête les démons Hadoop DFS.start-mapred.sh
- Démarre les démons Hadoop Map / Reduce, le jobtracker et le tasktrackers.stop-mapred.sh
- Arrête les démons Hadoop Map / Reduce.start-all.sh
- Démarre tous les démons Hadoop, le namenode, les datanodes, le jobtracker et le tasktrackers. Obsolète; utilisez start-dfs.sh puis start-mapred.shstop-all.sh
- Arrête tous les démons Hadoop. Obsolète; utilisez stop-mapred.sh puis stop-dfs.shMais avant de commencer à les utiliser, nous devons modifier plusieurs fichiers dans le
/conf
dossier.hadoop-env.sh
Recherchez le fichier
hadoop-env.sh
, nous devons uniquement mettre à jour la variable JAVA_HOME dans ce fichier:ou
ou dans les dernières versions, ce sera
ou
Modifiez ensuite la ligne suivante:
À
Remarque: si vous obtenez une
Error: JAVA_HOME is not set
erreur lors du démarrage des services, vous avez oublié de décommenter la ligne précédente (supprimez simplement #).core-site.xml
Nous devons maintenant créer un répertoire temporaire pour le framework Hadoop. Si vous avez besoin de cet environnement pour les tests ou d'un prototype rapide (par exemple développer des programmes hadoop simples pour votre test personnel ...), je suggère de créer ce dossier sous
/home/hduser/
répertoire, sinon, vous devriez créer ce dossier dans un endroit partagé sous dossier partagé ( comme / usr / local ...) mais vous pouvez rencontrer des problèmes de sécurité. Mais pour surmonter les exceptions qui peuvent être causées par la sécurité (comme java.io.IOException), j'ai créé le dossier tmp sous l'espace hduser.Pour créer ce dossier, tapez la commande suivante:
Veuillez noter que si vous souhaitez créer un autre utilisateur administrateur (par exemple hduser2 dans le groupe hadoop), vous devez lui accorder une autorisation de lecture et d'écriture sur ce dossier à l'aide des commandes suivantes:
Maintenant, nous pouvons ouvrir
hadoop/conf/core-site.xml
pour modifier l'entrée hadoop.tmp.dir. Nous pouvons ouvrir le core-site.xml en utilisant l'éditeur de texte:ou
Ajoutez ensuite les configurations suivantes entre les
<configure>
éléments xml :Maintenant éditez
mapred-site.xml
Maintenant éditez
hdfs-site.xml
Formatage de NameNode
Vous pouvez maintenant commencer à travailler sur le nœud. Premier format:
ou
Vous devez formater le NameNode dans votre HDFS. Vous ne devez pas effectuer cette étape lorsque le système est en cours d'exécution. Il est généralement effectué une première fois lors de votre installation.
Démarrage du cluster Hadoop
Vous devrez accéder au répertoire hadoop / bin et exécuter le
./start-all.sh
script.Si vous avez une version différente de celle montrée dans les guides (que vous aurez très probablement si vous le faites avec le PPA ou une version plus récente), essayez-la de cette façon:
Cela démarrera un Namenode, Datanode, Jobtracker et un Tasktracker sur votre machine.
Vérifier si Hadoop est en cours d'exécution
Il y a un bel outil appelé
jps
. Vous pouvez l'utiliser pour vous assurer que tous les services sont en place. Dans votre dossier hadoop bin, tapez:Il devrait vous montrer tous les processus liés à Hadoop.
REMARQUE: Puisque cela a été fait il y a environ 6 mois pour moi, s'il y a une partie qui ne fonctionne pas, faites-le moi savoir.
Hadoop utilisant Juju (un charme Juju pour Hadoop)
Extrait de Charming Hadoop
Je suppose que les éléments suivants sont déjà configurés:
~/.juju/environments.yaml
avec les informations concernant le serveur que vous utiliserez, y compris l'origine PPA.Maintenant, suivez ces étapes pour exécuter un service Hadoop:
Bootstrap l'environnement pour Hadoop
Attendez qu'il se termine puis vérifiez s'il se connecte correctement:
Déployer Hadoop (maître et esclave)
Créer des relations
Exposer Hadoop (puisque vous avez déjà déployé et créé des relations, le service doit être en cours d'exécution)
Et vérifiez l'état pour voir s'il fonctionne correctement:
Jusqu'à présent, vous disposez d'un Hadoop en cours d'exécution. Il y a beaucoup d'autres choses que vous pouvez faire qui peuvent être trouvées dans le lien fourni ou dans le Juju Charm officiel pour Hadoop
Pour des charmes JuJu à jour (configurations, guide étape par étape et plus), vous pouvez visiter: Charms JuJu et créer votre propre environnement JuJu et voir comment chaque fichier est configuré et comment chaque service se connecte.
la source
hduser (ALL)=(ALL:ALL) ALL
jette une erreur de syntaxe ...hduser ALL=(ALL:ALL) ALL
, retirez la première paire de supports.bachrc
- attendez que Johann Sebastian entende cela. Oh, attends, il ne peut pas… parce qu'il est sourd. :-DJ'ai installé Hadoop avec succès en définissant le chemin d'accès en
JAVA_HOME
tant queusr/lib/jvm/java-6-openjdk-amd64
.la source
Dérivé de la réponse de @Luis Alvarado , voici ma version pour Ubuntu 14.04 et Hadoop 2.5.1
En bref
hduser
hduser
partir de maintenanthduser
à distance via ssh avec mot de passe sans phraseTerminé. Bonne chance!
Étapes de détail
Installer Java
Télécharger et installer
Assurez-vous que Java7 est installé
nous devrions avoir un
java
point/usr/lib/jvm/java-7-oracle/jre/bin/java
Préparer un utilisateur exécutif pour Hadoop
hduser
Créer un utilisateur
hduser
en groupehadoop
Accordez
hduser
le privilège sudoModifier sudo
Ajouter à la fin cette ligne
Passez à
hduser
partir de maintenantAutoriser
hduser
à distance via ssh avec mot de passe sans phraseInstaller openssh
Générer une clé publique / privée RSA pour la connexion SSH; la phrase de passe est vide car
parameter -P ""
Assurez-vous que
hduser
ssh peut être distant localement sans mot de passeDésactiver IPv6
Editez le fichier de configuration
Copier jusqu'à la fin
Assurez-vous que IPv6 est désactivé par un redémarrage ou un appel
Appelez ensuite
Il faut dire 1 ce qui signifie OK ^^
Télécharger et configurer le package Hadoop
Télécharger les packages Hadoop 2.5.1 depuis le site Apache Hadoop
L'URL directe de ce package est ce lien
Alors téléchargeons dans
hduser
le dossier de départ, extrayons-le et renommez-le enhadoop
Assurez-vous que Hadoop est stocké à la
hduser
maisonPréparez le chemin système $ HADOOP_HOME et $ JAVA_HOME
Modifier
hduser
le fichier .bashrcMettre à la fin des valeurs pour
$HADOOP_HOME
et$JAVA_HOME
Ajouter les
binary
dossiers Hadoop au système$PATH
Ouvrez un nouveau terminal, connectez-vous en tant que
hduser
et assurez-vous d'avoir $ HADOOP_HOME avec les commandes disponiblesNous devrions voir le chemin complet de ces noms.
Services de Config Hadoop
Chaque composant dans Hadoop est configuré à l'aide d'un fichier XML.
Les propriétés communes vont dans core-site.xml
Les propriétés HDFS vont dans hdfs-site.xml
Les propriétés MapReduce vont dans mapred-site.xml
Ces fichiers se trouvent tous dans le dossier $ HADOOP_HOME / etc / hadoop
Définissez à nouveau JAVA_HOME en modifiant
hadoop-env.sh
la ligneDéfinissez Hadoop
temp folder
etfile system
nom dans core-site.xml àNous devons préparer cela
temp folder
comme configuré à/home/hduser/tmp
Définir
file system
lesblock replication
dans hdfs-site.xmlDéfinir
map-reduce job
dans mapred-site.xmlFormat
name node
Démarrer le service Hadoop
Appel
ces deux commandes sont situées dans $ HADOOP_HOME / sbin que nous avons ajoutées au système $ PATH auparavant.
Assurez-vous que les services Hadoop sont démarrés correctement
on devrait voir
la source
mapred-site.xml
n'existe pas au début. Il devrait être créé parcp mapred-site.xml.template mapred-site.xml
Pour pouvoir installer
sun-java
avec laapt-get
commande, vous devez ajouter une ligne à un fichier appelésources.list
. Ce fichier se trouve dans/etc/apt/sources.list
.Ouvrez le fichier à l'aide de cette commande:
Puis à la toute fin (en bas) de ce fichier, vous copiez / collez la ligne:
Appuyez maintenant sur Ctrl+ Xpour quitter et ypour enregistrer.
Tapez maintenant la commande:
Et lorsque cela est fait, vous pouvez exécuter la commande avec succès:
la source
Pour un tutoriel plus à jour (pas sûr des différences), regardez les tutoriels vidéo des screencasts hadoop . Ils fournissent la vidéo et les commandes réelles à installer en dessous. De plus, si vous envoyez un e-mail à l'auteur, il est très heureux de répondre et de vous aider si vous êtes coincé avec quoi que ce soit.
Ces instructions sont largement similaires à celles avec lesquelles @Luis a répondu.
la source