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.
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>/
.
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.