2014-07-28 2 views
1

hadoop 개발 및 디버깅을위한 Eclipse 환경을 설정하려고합니다. 저는 Tom White의 Definitive Hadoop 3rd ed를 따릅니다. 내가 뭘하고 싶은지 MaxTemperature 애플 리케이션 내 Hortonworks 샌드 박스 VM에 이동하기 전에 이클립스 내 Windows에서 로컬로 작업을 얻을 수 있습니다. 지역 직업 주자 사용에 관한 158 쪽의 의견은 내가 원하는 것 같다. Windows에서 전체 hadoop 구현을 설정하고 싶지 않습니다. Eclipse 내에서 Java 애플리케이션으로 실행되도록 설득 할 수있는 올바른 구성 매개 변수가 필요합니다.Windows에서 Eclipse에서 hadoop 응용 프로그램을 실행하는 중 오류가 발생했습니다.

윈도우 7 이클립스 : 루나 하둡 : 2.4.0 JDK : 7 나는

inputfile outputdir foo (deliberate bogus 3rd parameter) 

내가 얻을에 MaxTemperatureDriver (157 페이지 소스 코드)의 실행 구성을 설정

사용법 메시지 그래서 나는 그 매개 변수로 내 프로그램을 실행하고있어. 내가 가짜 세 번째 PARAM을 제거하면

은 내가 -conf를 삽입하려고했지만 그것을 무시하는 것 같다

Exception in thread "main" java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses. 
    at org.apache.hadoop.mapreduce.Cluster.initialize(Cluster.java:120) 
    at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:82) 
    at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:75) 
    at org.apache.hadoop.mapreduce.Job$9.run(Job.java:1255) 
    at org.apache.hadoop.mapreduce.Job$9.run(Job.java:1251) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:415) 
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) 
    at org.apache.hadoop.mapreduce.Job.connect(Job.java:1250) 
    at org.apache.hadoop.mapreduce.Job.submit(Job.java:1279) 
    at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1303) 
    at mark.MaxTemperatureDriver.run(MaxTemperatureDriver.java:52) 
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) 
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84) 
    at mark.MaxTemperatureDriver.main(MaxTemperatureDriver.java:56) 

를 얻을. 존재하지 않는 경로를 지정하면 오류 메시지가 표시되지 않습니다. 내가 -fs file:/// -jt local를 삽입하려고했지만, 그것이 내가 -D mapreduce.framework.name=local 내가 파일을 사용하여 입력과 출력을 지정하려고했습니다 삽입 시도했습니다 차이 하지 않습니다 : 형식

참고. eclipse가 원격 Hadoop 설치에 연결되도록 구성하는 방법에 대해서는 묻지 않습니다. 나는 이클립스 내에서 실행되는 응용 프로그램을 원한다.

이것이 가능합니까? 어떤 아이디어?

추가 정보 : 디버깅을 사용하도록 설정했습니다. YarnClientProtocolProvider이 실패한 이유

582 [main] DEBUG org.apache.hadoop.mapreduce.Cluster - Trying ClientProtocolProvider : org.apache.hadoop.mapred.YarnClientProtocolProvider 
583 [main] DEBUG org.apache.hadoop.mapreduce.Cluster - Cannot pick org.apache.hadoop.mapred.YarnClientProtocolProvider as the ClientProtocolProvider - returned null protocol 

내가하지 궁금하네요,하지만 LocalClientProtocolProvider를 시도하지 않은 이유 : 나는 보았다.

새로운 정보 : 이것은 Hadoop 2.4.0에서 발생하는 것으로 보입니다. 나는, 하둡 1.2.1 내 환경을 다시 다음의 지침에 윈도우를 추가

http://gerrymcnicol.com/index.php/2014/01/02/hadoop-and-cassandra-part-4-writing-your-first-mapreduce-job/

에 해킹

http://bigdatanerd.wordpress.com/2013/11/14/mapreduce-running-mapreduce-in-windows-file-system-debug-mapreduce-in-eclipse

에서 그리고 모든 일하기 시작했다.

+0

5 개의 서버가 모두 실행 중인지 확인하십시오. –

답변

관련 문제