2012-07-16 3 views
0

이 질문은 Azure 환경에서 Hadoop과 관련이 있습니다.Azure 환경에서 Hadoop의 Runtime.exec()

나는 reduce 함수에서 배치 스크립트를 실행하기 위해 Runtime.exec()를 사용하려고합니다. Azure 환경에서 Hadoop을 실행하는 동안 Linux의 Hadoop에서 제대로 실행되지 않았습니다. 필자는 데스크톱 (Windows 7) 환경에서 Runtime.exec() 코드 조각을 테스트하여 정상적으로 실행됩니다. Runtime.exec() 이후에 하위 프로세스의 출력 및 오류 스트림을 소비하는지 확인했습니다.

이 배치 스크립트는 아래에 포함 (단일 명령) :

C : \ HDFS \ mapred \ 로컬 \ taskTracker \ 나빌 \ jobcache \ job_201207121317_0024 \ attempt_201207121317_0024_r_000001_0 작업 \ \ tool.exe -fc : \ HDFS \ 로컬 \ mapred \ taskTracker \ 나빌 \ jobcache \ job_201207121317_0024 작업 \ -ic 11_task_201207121317_0024_r_000001.out을 \ : \ HDFS \ mapred \ 로컬 \ taskTracker \ 나빌 \ jobcache \ job_201207121317_0024 \ attempt_201207121317_0024_r_000001_0 작업 \ \ 내가 배포

input.txt를 분산 캐시를 사용하여 tool.exe 및 input.txt 파일을 만들고 작업 디렉토리에서 심볼릭 링크를 만듭니다. tool.exe 및 input.txt는 jobcache 디렉토리의 실제 파일을 가리 킵니다.

2012-07-16 04 : 31 : 51,613 INFO org.apache.hadoop.mapred.TaskRunner : 만들기 심볼릭 링크 : /hdfs/mapred/local/taskTracker/distcache/-978619214658189372_-1497645545_209290723/10.73.50.78tool.exe < - \ hdfs \ mapred \ local \ taskTracker \ nabeel \ jobcache \ job_201207121317_0024 \ 시도 _201207121317_0024_r_000001_0 \ work \ tool.exe 2012-07-16 04 : 31 : 51,644 정보 org.apache.hadoop.mapred.TaskRunner : 심볼릭 링크 생성 :/HDFS는/mapred/지방은/taskTracker /는 distcache/-4944695173898834237_1545037473_2085004342은/10.73.50.78input.txt <는 - \ HDFS \ mapred \ 로컬 \ taskTracker \ 나빌 \ jobcache \ job_201207121317_0024 \ attempt_201207121317_0024_r_000001_0는 작업 \ \

는 감속기가 제공 input.txt를 아래 오류가 실행됩니다. 프로그램 "cmd를/Q /cc:\hdfs\mapred\local\taskTracker\nabeel\jobcache\job_201207121317_0024\work\11_task_201207121317_0024_r_0000011513543720767963399.bat"실행할 수 없습니다 :

명령 실행 오류 의 CreateProcess 오류 = 2, 시스템은 할 수 없습니다 파일은 다른 경우

지정 찾아 I는 그대로 실행하려했지만 절대 경로를 사용하지 않고 .. 서브 프로세스로부터의 출력 스트림은 다음과 같다 :

C : \ HDFS \ mapred 로컬 \ \ taskTracker \ nabeel \ jobcache \ job_201207121317_0022 \ attempt_201207121317_0022_r_000000_0 \ work> tool.exe -f/hdfs/mapred/local/taskTracker/nabeel/jobcache/job_20 작업 작업 디렉토리 경로 및 분산 캐시는 푸른 환경에 하둡에서 작동하는 방법 1207121317_0022/작업/ -i input.txt를

1_task_201207121317_0022_r_000000.out 모르겠어요. 내가 여기 뭔가를 놓치고 있다면 알려주시겠습니까? Azure 환경의 Hadoop에서 Runtime.exec()을 사용하면서 돌봐야 할 것이 있습니다.

감사합니다,

. , ._ 발신자에게 응답 | 그룹에 회신 | 웹 게시물을 통해 답장하기 | 새 주제 시작

답변

0

저는 Hadoop에 익숙하지 않습니다. 그러나 오류 메시지는 명백한 것 같습니다. 파일이 있는지 여부를 확인할 수 있으면 더 좋습니다.

C : \ HDFS \ mapred 지역 \ taskTracker \ 나빌 \ jobcache \ job_201207121317_0024 작업 \의 11_task_201207121317_0024_r_0000011513543720767963399.bat \

최고 감사합니다 \

명나라 쑤

+0

그래 .. 난 단지에 액세스 할 수 실제로 매퍼/감속기를 실행하는 노드가 아니라 HoA 플랫폼의 헤드 노드. 그러나 어떤 경우에도 내 프로그램을 통해이 파일을 열어 내용을 읽을 수 있습니다. 이렇게하면 .bat 파일의 존재가 확인되었습니다. – user1530241

관련 문제