web-dev-qa-db-fra.com

hdfs dfs -mkdir, Aucun fichier ou répertoire de ce type

Salut, je suis nouveau sur hadoop et j'essaie de créer un répertoire dans hdfs appelé Twitter_data. J'ai configuré mon vm sur softlayer, installé et démarré hadoop avec succès.

Voici la recommandation que j'essaie d'exécuter:

hdfs dfs -mkdir hdfs: // localhost: 9000/user/Hadoop/Twitter_data

Et il continue de renvoyer ce message d'erreur:

 /usr/local/hadoop/etc/hadoop/hadoop-env.sh: line 2: ./hadoop-env.sh: Permission denied
16/10/19 19:07:03 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-Java classes where applicable
mkdir: `hdfs://localhost:9000/user/Hadoop/Twitter_data': No such file or directory

Pourquoi dit-il qu'il n'y a pas un tel fichier et répertoire? Je lui commande de créer un répertoire, ne devrait-il pas simplement en créer un? Je suppose que ce doit être le problème d'autorisation, mais je ne peux pas le résoudre. S'il vous plaît, aidez-moi des experts hdfs. J'ai passé trop de temps sur ce qui semble être une question simple.

Merci d'avance.

16
2D_

C'est parce que les répertoires parents n'existent pas encore non plus. Essayez hdfs dfs -mkdir -p /user/Hadoop/Twitter_data. Le -p L'indicateur indique que tous les répertoires inexistants menant au répertoire donné doivent également être créés.

Quant à la question que vous avez posée dans les commentaires, tapez simplement dans votre navigateur http://<Host name of the namenode>:<port number>/.

27
user4601931

utilisez la commande ci-dessous pour créer le répertoire:

1) ne lancez pas le hadoop et formatez le namenode: -

$ hadoop namenode -format

2) exécuter hadoop par: -

$ start-all.sh

3) créez d'abord le répertoire initial puis créez l'autre dans le même répertoire:

$ hadoop fs -mkdir /user
$ hadoop fs -mkdir /user/Hadoop
$ hadoop fs -mkdir /user/Hadoop/Tweeter_data

Suivez les étapes ci-dessus pour résoudre le problème.

7
Vipal Patel