복붙노트

[HADOOP] hadoop fs -put 명령

HADOOP

hadoop fs -put 명령

Cloudera CDH 저장소를 사용하여 CentOS에서 단일 노드 Hadoop 환경을 구축했습니다. 로컬 파일을 HDFS로 복사하려면 다음 명령을 사용했습니다.

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

그러나 결과는 나를 우울하게 만들었다.

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

나는이 파일이 존재한다고 확신한다.

도와주세요, 고마워요!

해결법

  1. ==============================

    1.사용자 hdfs로서 / root / (로컬 하드 디스크)에 대한 액세스 권한이 있습니까? 보통 당신은하지 않습니다. file1.txt를 hdfs 사용자가 읽기 권한이있는 위치로 복사해야합니다.

    사용자 hdfs로서 / root / (로컬 하드 디스크)에 대한 액세스 권한이 있습니까? 보통 당신은하지 않습니다. file1.txt를 hdfs 사용자가 읽기 권한이있는 위치로 복사해야합니다.

    시험:

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

    --- 편집하다:

    더 깨끗한 로마 니키 첸코의 대답을보세요.

  2. ==============================

    2.나는 똑같은 상황이었고 여기서 나의 해결책이있다 :

    나는 똑같은 상황이었고 여기서 나의 해결책이있다 :

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

    장점 :

  3. ==============================

    3.HDFS에서 usig로 dir을 생성 해보십시오 : $ hadoop fs -mkdir your_dir $ hadoop fs -put /root/MyHadoop/file1.txt your_dir을 입력하십시오.

    HDFS에서 usig로 dir을 생성 해보십시오 : $ hadoop fs -mkdir your_dir $ hadoop fs -put /root/MyHadoop/file1.txt your_dir을 입력하십시오.

  4. from https://stackoverflow.com/questions/18484939/hadoop-fs-put-command by cc-by-sa and MIT license