2013-04-25 3 views
3

Windows 용 Hortonworks HDP를 사용 중이며 마스터와 2 개의 슬레이브를 사용하여 성공적으로 구성했습니다.Windows에서 python으로 Hadoop 스트리밍

다음 명령을 사용하고 있습니다.

bin\hadoop jar contrib\streaming\hadoop-streaming-1.1.0-SNAPSHOT.jar -files file:///d:/dev/python/mapper.py,file:///d:/dev/python/reducer.py -mapper "python mapper.py" -reducer "python reduce.py" -input /flume/0424/userlog.MDAC-HD1.MDAC.local..20130424.1366789040945 -output /flume/o%1 -cmdenv PYTHONPATH=c:\python27

맵퍼

잘 통해 실행하지만, 로그 보고서는 reduce.py 파일을 찾을 수 없다는. 예외적으로 hadoop taskrunner가 mapper.py 파일에 대한 감속기에 대한 심볼릭 링크를 만드는 것처럼 보입니다.

작업 구성 파일을 확인할 때 mapred.cache.files이로 설정되어 있습니다.

HDFS : // MDAC-HD1 : 8020/mapred/준비/관리자/.staging/job_201304251054_0021/파일/mapper.py 번호의 mapper.py

그것은 reduce.py 파일이 추가되고 있지만처럼 보인다 jar 파일에는 구성에 올바르게 포함되지 않아서 감속기가 실행을 시도 할 때 찾을 수 없습니다.

내 명령이 정확하다고 생각합니다. 대신 -file 매개 변수를 사용했지만 파일을 찾지 못했습니다.

누구나 분명한 이유를 알고 있습니까?

Windows 용입니다.

EDIT- 방금 로컬에서 실행 했으므로 문제가 클러스터 내에서 파일을 복사하는 것과 같을 수 있습니다.

여전히 환영합니다!

답변

2

글쎄, 그건 당황 스럽네 ... 내 첫 질문과 나는 직접 대답.

hadoop conf 파일의 이름을 로컬 작업 추적자를 의미하는 기본 설정으로 변경하여 문제를 발견했습니다.

작업이 제대로 실행되고 문제가있는 부분을 해결할 수있는 공간이 생겼습니다. 클러스터 주변의 통신이 필요한만큼 완벽하지 않은 것처럼 보입니다.

0

명령을 볼 때 -file 옵션에 대해 "file : /// d : /dev/python/reduc.py"를 표시하지만 -reducer에 대해 reduce.py를 지정합니다. 이로 인해 문제가 발생합니까 ?? 미안해.

+0

내 실수는 파일 목록에서 먼저 reduce.py를 사용하도록 다시 정리 한 것입니다. 내가 그것을 바꿨을 때 나는 실수했다. 일반적으로 말하는 것은 reduce.py라고해야합니다. – owen79

+0

흥미롭게도, 주문을 교환 할 때, 작업 설정에서 언급 된 것은 reduce.py뿐입니다. 그것은 -files 매개 변수에있는 것 같습니다. 저는 고심하고 있습니다. – owen79

관련 문제