commands comandos shell hadoop hdfs put

shell - comandos - comando hadoop fs-put



tail hdfs (3)

Como usuario hdfs , ¿tiene derechos de acceso a /root/ (en su hdd local) ?. Usualmente no lo haces. Debe copiar el file1.txt a un lugar donde el usuario de hdfs tenga derechos de lectura.

Tratar:

cp /root/MyHadoop/file1.txt /tmp chown hdfs:hdfs /tmp/file1.txt sudo -u hdfs hadoop fs -put /tmp/file1.txt /

--- editar:

Eche un vistazo a la respuesta más limpia de roman-nikitchenko .

Construí un entorno Hadoop de un solo nodo en CentOS utilizando el repositorio CDH de Cloudera. Cuando quiero copiar un archivo local a HDFS, utilizo el comando:

sudo -u hdfs hadoop fs -put /root/MyHadoop/file1.txt /

Pero, el resultado me deprimió:

put: ''/root/MyHadoop/file1.txt'': No such file or directory

Estoy seguro de que este archivo existe.

Por favor, ayúdame, gracias!


Tuve la misma situación y aquí está mi solución:

HADOOP_USER_NAME=hdfs hdfs fs -put /root/MyHadoop/file1.txt /

Ventajas:

  1. No necesitas sudo
  2. En realidad, no necesita los ''hdfs'' de usuario local apropiados.
  3. No necesita copiar nada ni cambiar los permisos debido a los puntos anteriores.

intente crear un directorio en el HDFS usando usig: $ hadoop fs -mkdir your_dir y luego póngalo en él $ hadoop fs -put -put /root/MyHadoop/file1.txt your_dir