Si ejecuta:
hdfs dfs -copyFromLocal foo.txt bar.txt
luego, el archivo local foo.txt se copiará en su propio directorio hdfs /user/popeye/bar.txt
(donde popeye
es su nombre de usuario). Como resultado, lo siguiente logra lo mismo:
hdfs dfs -copyFromLocal foo.txt /user/popeye/bar.txt
Antes de copiar cualquier archivo en hdfs, solo asegúrese de crear primero el directorio principal. No es necesario que coloque archivos en este directorio "inicio", pero (1) es mejor no saturar "/" con todo tipo de archivos, y (2) seguir esta convención ayudará a evitar conflictos con otros usuarios.
Su enfoque es incorrecto o puede ser que la comprensión sea incorrecta
dfs.datanode.data.dir
, es donde desea almacenar sus bloques de datos
Si escribe hdfs dfs -ls /
obtendrá una lista de directorios en hdfs. Luego puede transferir archivos de local a hdfs usando -copyFromLocal
o -put
a un directorio en particular o usando -mkdir
puedes crear un nuevo directorio
Consulte el siguiente enlace para obtener más información
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html
Según la primera respuesta, la estoy elaborando en detalle para Hadoop 1.x
-
Supongamos que está ejecutando este script en un modelo de pseudodistribución, probablemente obtendrá una o dos listas de usuarios (NameNodes) ilustradas -
en nuestro modelo de distribución completa, primero tiene los derechos de administrador para realizar estas cosas y habrá una lista N de NameNodes (usuarios).
Así que ahora vamos a nuestro punto -
Primero acceda a su directorio de inicio de Hadoop y desde allí ejecute este script:
bin/hadoop fs -ls /
El resultado será como este -
drwxr-xr-x - xuiob78126arif supergroup 0 2017-11-30 11:20 /user
así que aquí xuiob78126arif
es mi nodo de nombre (maestro/usuario) y el directorio NameNode (usuario) es -
/user/xuiob78126arif/
ahora puedes ir a tu navegador y buscar la dirección -
http://xuiob78126arif:50070
y desde allí puedes obtener el Cluster Summary, NameNode Storage
, etc.
Nota:el script proporcionará resultados solo en una condición, si al menos existe algún archivo o directorio en DataNode; de lo contrario, obtendrá:
ls: Cannot access .: No such file or directory.
entonces, en ese caso, primero coloca cualquier archivo por bin/hadoop fs -put <source file full path>
y ahí después ejecuta el bin/hadoop fs -ls /
guión.
y ahora espero que hayas solucionado un poco tu problema, gracias.