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

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

PHPz
Libérer: 2024-02-09 13:24:09
avant
849 Les gens l'ont consulté

É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
Copier après la connexion

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
Copier après la connexion

Quand je cours

  whereis hadoop
Copier après la connexion

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
Copier après la connexion

Mais quand j'exécute la commande

  start-all.sh
Copier après la connexion

Il indique commande introuvable. Même chose quand je cours

  start-dfs.sh
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

Je dois utiliser find pour le rechercher.

find / -iname start-all.sh 2>  /dev/null
Copier après la connexion

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
Copier après la connexion

Donc, en plus de la réponse précédente, les variables dans $home/.bashrc ressemblent à ceci :

PATH=$PATH:/usr/local/sbin/
Copier après la connexion

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!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal