복붙노트

[HADOOP] WordCount MapReduce를 실행하는 동안 입력 경로가 없습니다

HADOOP

WordCount MapReduce를 실행하는 동안 입력 경로가 없습니다

우분투에 단일 노드 클러스터를 설치했습니다. 워드 카운트 프로그램을 실행하려고합니다. jar 파일을 만들었습니다. 그러나이 명령을 실행할 때 :

hadoop jar '/home/hduser/Desktop/TutorialFolder/firstTutorial.jar' WordCount /home/hduser/Desktop/TutorialFolder/input_data /TutorialFolder/Output

아래 오류가 발생합니다.

Exception in thread "main" 
org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: 
hdfs://localhost:9000/home/hduser/Desktop/TutorialFolder/inp‌​ut_data 
at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.single‌​ThreadedListStatus(F‌​ileInputFormat.java:‌​323) 

해결법

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

    1.로컬 모드에서 Hadoop을 실행하지 않는 한 mapreduce에 제공된 입력 및 출력 경로는 유효한 HDFS 경로 여야합니다.

    로컬 모드에서 Hadoop을 실행하지 않는 한 mapreduce에 제공된 입력 및 출력 경로는 유효한 HDFS 경로 여야합니다.

    여기에 전달 된 입력 경로 / home / hduser / Desktop / TutorialFolder / input_data는 로컬 디렉토리처럼 보입니다. HDFS에서 유사한 구조를 작성하고 입력 데이터를 HDFS의 해당 디렉토리에 업로드하십시오.

    hdfs dfs -mkdir -p /wordcount/input_data
    hdfs dfs -put /home/hduser/Desktop/TutorialFolder/input_data/ /wordcount/input_data/
    

    또한 출력 경로는 HDFS에 있어야합니다. HDFS 경로로 항아리를 실행하십시오.

    hadoop jar /home/hduser/Desktop/TutorialFolder/firstTutorial.jar WordCount /wordcount/input_data /wordcount/output
    
  2. ==============================

    2.의사 분산 모드에서 실행중인 경우 입력 경로는 데스크톱 폴더가없는 HDFS에 존재해야합니다.

    의사 분산 모드에서 실행중인 경우 입력 경로는 데스크톱 폴더가없는 HDFS에 존재해야합니다.

    hdfs dfs -ls / home / hduser를 실행하여 사용 가능한 내용을 검사하고 파일을 저장하십시오.

    해당 폴더가 없으면 자습서로 돌아가서 HDFS를 설정해야합니다.

    hdfs dfs -mkdir -p / home / hduser를 실행하십시오.

    참고 : 권한 거부 오류가 발생할 수 있습니다.

  3. from https://stackoverflow.com/questions/42458492/input-path-does-not-exists-while-running-wordcount-mapreduce by cc-by-sa and MIT license