복붙노트

[HADOOP] 나는 / tmp 디렉토리와 / 사용자 / 하이브 / 창고를 작성해야합니까?

HADOOP

나는 / tmp 디렉토리와 / 사용자 / 하이브 / 창고를 작성해야합니까?

https://cwiki.apache.org/confluence/display/Hive/GettingStarted에서

  $ $HADOOP_HOME/bin/hadoop fs -mkdir       /tmp
  $ $HADOOP_HOME/bin/hadoop fs -mkdir       /user/hive/warehouse
  $ $HADOOP_HOME/bin/hadoop fs -chmod g+w   /tmp
  $ $HADOOP_HOME/bin/hadoop fs -chmod g+w   /user/hive/warehouse

나는 두 -mkdir 명령을 실행할 수 없습니다 :

$ $HADOOP_HOME/bin/hadoop fs -mkdir       /tmp
mkdir: `/tmp': File exists

`/ tmp를 '이 (가) 이미 내 우분투에서 내 로컬 ext4 파일 시스템에 존재합니다.

$ $HADOOP_HOME/bin/hadoop fs -mkdir       /user/hive/warehouse
mkdir: `/user/hive/warehouse': No such file or directory

내 우분투에서 내 로컬 ext4 파일 시스템에서 더는 / usr / 하이브 / 창고가 없습니다.

그래서 -mkdir 두 디렉토리를 생성하는 실행의 목적은 무엇인가?

해결법

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

    1.이 폴더는 이미 HDFS에 존재한다. 그래서 당신은 mkdir 명령을 실행하는 동안 오류 '파일이'지고있다.

    이 폴더는 이미 HDFS에 존재한다. 그래서 당신은 mkdir 명령을 실행하는 동안 오류 '파일이'지고있다.

    당신은 목록 명령으로 확인할 수 있습니다 하둡 때 fs -ls를 /

    mkdir 명령은 부모 디렉토리를 생성하지 않습니다 그러나 새 디렉토리를 생성합니다. 상위 디렉토리의 경로에 존재하지 않는 경우에, 당신은 '그런 파일이나 디렉토리'오류가 발생하지 않습니다. 이 경우 중 하나를 '사용자'또는 '하이브'디렉토리에서 수행 존재하지.

    당신은 목록 명령으로 확인할 수 있습니다 하둡 때 fs -ls를 / 사용자

    실행 '-p'옵션 '에서 mkdir'명령은 모든 빠진 부모 디렉토리를 생성합니다.

    hadoop fs -mkdir -p /user/hive/warehouse 
    

    둘 다 '/ tmp에'와 '/ 사용자 / 하이브 / 창고'디렉토리는 HDFS 파일 시스템에 생성됩니다. 당신은 로컬 파일 시스템 명령을 사용하여이 폴더를 볼 수 없습니다.

    이 경우 / tmp 폴더는 운영 시스템에 의해 유지 및 임시 파일을 저장하는 데 사용됩니다. HDFS 관련이 없습니다.

    HDFS에서 폴더를 나열하려면,

    hadoop fs -ls /user
    hadoop fs -ls /
    hadoop fs -ls /user/hive/
    
  2. from https://stackoverflow.com/questions/56121785/do-i-have-to-create-tmp-and-user-hive-warehouse by cc-by-sa and MIT license