Éditeur PHP Apple peut rencontrer un problème courant lors de l'utilisation de Hadoop : "commandes start-all.sh, start-dfs.sh introuvables". Ce problème se produit généralement lors du démarrage d'un cluster Hadoop et peut être dû à une configuration de chemin incorrecte ou à un fichier de script inexistant. Pour résoudre ce problème, nous devons vérifier le chemin d'installation de Hadoop et la configuration des variables d'environnement pour nous assurer qu'ils sont correctement définis et garantir que les fichiers de script pertinents existent dans les chemins correspondants. Ce qui suit présentera en détail comment résoudre ce problème, jetons un coup d'œil ensemble !
J'utilise Ubuntu 16.04 lts et j'ai installé Hadoop 2.7.2. La sortie de
hadoop version
Oui
hadoop 2.7.2 subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r b165c4fe8a74265c792ce23f546c64604acf0e41 compiled by jenkins on 2016-01-26t00:08z compiled with protoc 2.5.0 from source with checksum d0fda26633fa762bff87ec759ebe689c this command was run using /usr/local/hadoop-2.7.2/share/hadoop/common/hadoop-common-2.7.2.jar
Quand je cours
whereis hadoop
Le résultat qu'il donne est
hadoop: /usr/local/hadoop /usr/local/hadoop-2.7.2/bin/hadoop.cmd /usr/local/hadoop-2.7.2/bin/hadoop
Mais quand j'exécute la commande
start-all.sh
Il indique commande introuvable. Même chose quand je cours
start-dfs.sh
Le résultat qu'il donne est une commande introuvable.
Je peux exécuter ces commandes lorsque je navigue vers le répertoire hadoop, mais je souhaite exécuter ces commandes sans accéder au répertoire hadoop.
Votre problème est que bash ne sait pas où chercher ./start-all.sh
.
Vous pouvez résoudre ce problème en ouvrant $home/.bashrc
et en ajoutant une ligne comme celle-ci :
path=$path:/usr/local/hadoop/sbin
Cela indique à bash qu'il doit apparaître start-all.sh
dans "/usr/local/hadoop/sbin".
Attention :
Les modifications apportées à $home/.bashrc
ne prendront effet dans aucun terminal actuellement ouvert.
Si vous souhaitez que les modifications prennent effet dans le terminal actuellement ouvert, exécutez
source $home/.bashrc
Je dois utiliser find pour le rechercher.
find / -iname start-all.sh 2> /dev/null
Découvrez :
/usr/local/sbin/start-all.sh /usr/local/cellar/hadoop/3.3.4/libexec/sbin/start-all.sh /usr/local/cellar/hadoop/3.3.4/sbin/start-all.sh
Donc, en plus de la réponse précédente, les variables dans $home/.bashrc
ressemblent à ceci :
PATH=$PATH:/usr/local/sbin/
Remarque : je ne sais pas sur lequel choisir path
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!