2013-02-01 3 views
0

hadoop 1.0.4가 설치되었습니다. [Hadoop 명령 행 매개 변수가 Java 원격 디버거에 전달되지 않았습니다.

ELIF : - "JDWP = 전송 = dt_socket, 서버 = Y = Y, 주소 = 5000을 중단 agentlib"

HADOOP_DEBUG = 나는 다음을 추가하여는/usr/빈/하둡 파일을 수정 한 "$ COMMAND"= "jar"]]; 다음

CLASS = org.apache.hadoop.util.RunJar

HADOOP_OPTS = "$ HADOOP_OPTS $ HADOOP_CLIENT_OPTS"

ELIF [ "$ 명령어"= "항아리 디버그"]; 다음

CLASS = org.apache.hadoop.util.RunJar

HADOOP_OPTS = "$ HADOOP_OPTS $ HADOOP_CLIENT_OPTS $ HADOOP_DEBUG"

COMMAND = "항아리"

내가 실행할 수있는이 방법은 "하둡 jar SomeJar.jar SomeClass "를 정상적으로 실행하거나"hadoop jar-Debug SomeJar.jar SomeClass "를 실행하여 디버그 모드로 실행하십시오. WordCount 예제에서와 같이 명령 줄 인수를 내 클래스에 전달하려는 경우를 제외하고는 작동합니다. 예를 실행하는 경우 :

"하둡 항아리 디버그 WordCount.jar 단어 수 InputDir OutputDir"

메인 클래스의 첫 번째 줄에 중단 점과 문자열 []에 args는 빈 문자열이 분명히 발생하는 (것으로 밝혀 나중에 실패하는 프로그램). 정상 jar 명령을 사용하여 실행하면 정상적으로 작동합니다 (분명히 명령 행 인수는 일반 jar를 사용하여 정상적으로 전달됩니다).

누구나 무슨 일이 일어나고 있는지 알고 계신가요? 나는 심각하게 붙어있다. 미리 감사드립니다. 이 문제가 발생한 미래에 누군가를위한

+0

업데이트 : 실제 클러스터에서 디버그를 실행할 때 명령 줄 매개 변수가 잘 전달됩니다. 그들은 pseudo-distributed 모드에서 실행될 때만 전달됩니다 ... 이상합니다. – JHowIX

답변

0

업데이트 : 자바 원격 디버거가 잘못된 IP 주소 (IE 대신 로컬 호스트의 원격 네임 노드를 듣고)을 듣고 시작되면

을의 JRD는 여전히 실행됩니다하지만, 명령 줄 매개 변수가 전달되지 않습니다.

관련 문제