[HADOOP] hadoop 단어 계산 예제를 실행할 수 없습니까?
HADOOPhadoop 단어 계산 예제를 실행할 수 없습니까?
난 우분투 12.04에서 VM웨어의 단일 노드 환경에서 hadoop 단어 계산 예제를 실행하고 있습니다. 나는 다음과 같은 예제를 실행한다.
hadoop@master:~/hadoop$ hadoop jar hadoop-examples-1.0.4.jar wordcount
/home/hadoop/gutenberg/ /home/hadoop/gutenberg-output
아래 위치에 파일을 입력했습니다 :
/home/hadoop/gutenberg
출력 파일의 위치는 다음과 같습니다.
/home/hadoop/gutenberg-output
내가 다음과 같은 오류 메시지가 나타납니다 wordcount 프로그램을 실행할 때 : -
13/04/18 06:02:10 INFO mapred.JobClient: Cleaning up the staging area
hdfs://localhost:54310/home/hadoop/tmp/mapred/staging/hadoop/.staging/job_201304180554_0001
13/04/18 06:02:10 ERROR security.UserGroupInformation: PriviledgedActionException
as:hadoop cause:org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory
/home/hadoop/gutenberg-output already exists
org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory
/home/hadoop/gutenberg-output already exists at
org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.checkOutputSpecs(FileOutputFormat.j
ava:137) at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:887) at
org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:850) at
java.security.AccessController.doPrivileged(Native Method) at
javax.security.auth.Subject.doAs(Subject.java:416) at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) at
org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:850) at
org.apache.hadoop.mapreduce.Job.submit(Job.java:500) at
org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:530) at
org.apache.hadoop.examples.WordCount.main(WordCount.java:67) at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616) at
org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:68)
at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:139) at
org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:64) at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616) at
org.apache.hadoop.util.RunJar.main(RunJar.java:156) hadoop@master:~/hadoop$ bin/stop-
all.sh Warning: $HADOOP_HOME is deprecated. stopping jobtracker localhost: stopping
tasktracker stopping namenode localhost: stopping datanode localhost: stopping
secondarynamenode hadoop@master:~/hadoop$
해결법
-
==============================
1.이미 존재하는 출력 파일을 삭제하거나 다른 파일로 출력하십시오.
이미 존재하는 출력 파일을 삭제하거나 다른 파일로 출력하십시오.
(나는 당신이 생각한 오류 메시지의 다른 해석에 대해 조금 궁금해합니다.)
-
==============================
2.Dave (예외)와 마찬가지로 출력 디렉토리가 이미 존재합니다. 다음을 사용하여 먼저 다른 디렉토리로 출력하거나 기존 디렉토리를 제거해야합니다.
Dave (예외)와 마찬가지로 출력 디렉토리가 이미 존재합니다. 다음을 사용하여 먼저 다른 디렉토리로 출력하거나 기존 디렉토리를 제거해야합니다.
hadoop fs -rmr /home/hadoop/gutenberg-output
-
==============================
3.자신 만의 .jar 파일을 생성하여 실행하려고한다면 다음 사항에주의하십시오.
자신 만의 .jar 파일을 생성하여 실행하려고한다면 다음 사항에주의하십시오.
직업을 운영하려면 다음과 같이 작성해야합니다.
hadoop jar <jar-path> <package-path> <input-in-hdfs-path> <output-in-hdfs-path>
그러나 드라이버 코드를 면밀히 살펴보면 arg [0]을 입력으로, arg [1]을 출력으로 설정했음을 알 수 있습니다. 표시 할 내용은 다음과 같습니다.
FileInputFormart.addInputPath(conf, new Path(args[0])); FileOutFormart.setOutputPath(conf, new Path(args[1]));
그러나 hadoop은
대신 arg [0]을 로, 대신 따라서 작동 시키려면 다음을 사용해야합니다.
FileInputFormart.addInputPath(conf, new Path(args[1])); FileOutFormart.setOutputPath(conf, new Path(args[2]));
arg [1]과 arg [2]를 사용하면 올바른 것을 얻을 수 있습니다! :) 희망이 도움이. 건배.
-
==============================
4.'tmp'폴더가 있는지 확인하십시오.
'tmp'폴더가 있는지 확인하십시오.
hadoop fs -ls /
출력 폴더를 보거나 'tmp'가 둘 다 삭제하면 (활성 작업이 실행 중이 지 않은 것으로 간주 됨)
hadoop fs -rmr / tmp
from https://stackoverflow.com/questions/16084998/unable-to-run-hadoop-wordcount-example by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop에서 사용자 정의 쓰기 가능 구현? (0) | 2019.06.21 |
---|---|
[HADOOP] EMR의 사용자 지정 환경 변수를 스파크 응용 프로그램에 사용할 수 있도록 설정하는 방법 (0) | 2019.06.21 |
[HADOOP] hdfs의 하이브 파일은 관리되지 않는 (외부가 아닌) 테이블을 삭제할 때 삭제되지 않습니다. (0) | 2019.06.21 |
[HADOOP] 테스트 HBase 연결 (0) | 2019.06.21 |
[HADOOP] 여러 파일을 단일 매퍼로 결합하는 TextLine과 같은 Scalding Source 만들기 (0) | 2019.06.21 |