Maison  >  Article  >  commandes start-all.sh, start-dfs.sh introuvables

commandes start-all.sh, start-dfs.sh introuvables

PHPz
PHPzavant
2024-02-09 13:24:09749parcourir

É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 !

Contenu de la question

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.

Solution

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer