2012-12-11 4 views
2

이것은 내 첫 번째 게시물이므로 중요한 사항을 놓친 경우 나에게 알려주십시오. 저는 Mahout/Hadoop 초보자이며 분산 추천 엔진을 구성하려고합니다.Mahout RecommenderJob 수렴하지 않음

원격 클러스터에서의 작업을 시뮬레이션하기 위해 내 컴퓨터에 hadoop을 설치하여 (hadoop이 설치된) 내 컴퓨터에있는 Ubuntu VM (VirtualBox 사용)과 통신합니다. 이 설정은 정상적으로 작동하는 것 같습니다. 그리고 나는 Mahout의 'RecommenderJob'을 (아주!) 작은 시험 데이터 세트에서 테스트로 실행하려고합니다.

입력은 형식으로 약 50 사용자 환경 설정이 포함 (하둡 DFS에 저장)를 .csv 파일로 구성

: userID, itemID, preference을 ... 내가 실행하고 명령은 다음과 같습니다

hadoop jar /Users/MyName/src/trunk/core/target/mahout-core-0.8-SNAPSHOT-job.jar org.apache.mahout.cf.taste.hadoop.item.RecommenderJob -Dmapred.input.dir=/user/MyName/Recommendations/input/TestRatings.csv -Dmapred.output.dir=/user/MyName/Recommendations/output -s SIMILARITY_PEARSON_CORELLATION 

TestRatings.csv은을이다 기본 설정 및 output을 포함하는 파일이 원하는 출력 디렉토리입니다.

처음에는 잘 실행되는 것처럼 작업이보고, 나는 다음과 같은 출력을 얻을 :

12/12/11 12:26:21 INFO common.AbstractJob: Command line arguments: {--booleanData=[false], --endPhase=[2147483647], --maxPrefsPerUser=[10], --maxPrefsPerUserInItemSimilarity=[1000], --maxSimilaritiesPerItem=[100], --minPrefsPerUser=[1], --numRecommendations=[10], --similarityClassname=[SIMILARITY_PEARSON_CORELLATION], --startPhase=[0], --tempDir=[temp]} 
12/12/11 12:26:21 INFO common.AbstractJob: Command line arguments: {--booleanData=[false], --endPhase=[2147483647], --input=[/user/Naaman/Delphi/input/TestRatings.csv], --maxPrefsPerUser=[1000], --minPrefsPerUser=[1], --output=[temp/preparePreferenceMatrix], --ratingShift=[0.0], --startPhase=[0], --tempDir=[temp]} 
12/12/11 12:26:21 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId= 
12/12/11 12:26:21 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
12/12/11 12:26:22 INFO input.FileInputFormat: Total input paths to process : 1 
12/12/11 12:26:22 WARN snappy.LoadSnappy: Snappy native library not loaded 
12/12/11 12:26:22 INFO mapred.JobClient: Running job: job_local_0001 
12/12/11 12:26:22 INFO mapred.Task: Using ResourceCalculatorPlugin : null 
12/12/11 12:26:22 INFO mapred.MapTask: io.sort.mb = 100 
12/12/11 12:26:22 INFO mapred.MapTask: data buffer = 79691776/99614720 
12/12/11 12:26:22 INFO mapred.MapTask: record buffer = 262144/327680 
12/12/11 12:26:22 INFO mapred.MapTask: Starting flush of map output 
12/12/11 12:26:22 INFO compress.CodecPool: Got brand-new compressor 
12/12/11 12:26:22 INFO mapred.MapTask: Finished spill 0 
12/12/11 12:26:22 INFO mapred.Task: Task:attempt_local_0001_m_000000_0 is done. And is in the process of commiting 
12/12/11 12:26:22 INFO mapred.LocalJobRunner: 
12/12/11 12:26:22 INFO mapred.Task: Task 'attempt_local_0001_m_000000_0' done. 
12/12/11 12:26:22 INFO mapred.Task: Using ResourceCalculatorPlugin : null 
12/12/11 12:26:22 INFO mapred.ReduceTask: ShuffleRamManager: MemoryLimit=1491035776, MaxSingleShuffleLimit=372758944 
12/12/11 12:26:22 INFO compress.CodecPool: Got brand-new decompressor 
12/12/11 12:26:22 INFO compress.CodecPool: Got brand-new decompressor 
12/12/11 12:26:22 INFO compress.CodecPool: Got brand-new decompressor 
12/12/11 12:26:22 INFO compress.CodecPool: Got brand-new decompressor 
12/12/11 12:26:22 INFO compress.CodecPool: Got brand-new decompressor 
12/12/11 12:26:22 INFO mapred.ReduceTask: attempt_local_0001_r_000000_0 Thread started: Thread for merging on-disk files 
12/12/11 12:26:22 INFO mapred.ReduceTask: attempt_local_0001_r_000000_0 Thread started: Thread for merging in memory files 
12/12/11 12:26:22 INFO mapred.ReduceTask: attempt_local_0001_r_000000_0 Thread waiting: Thread for merging on-disk files 
12/12/11 12:26:22 INFO mapred.ReduceTask: attempt_local_0001_r_000000_0 Need another 1 map output(s) where 0 is already in progress 
12/12/11 12:26:22 INFO mapred.ReduceTask: attempt_local_0001_r_000000_0 Thread started: Thread for polling Map Completion Events 
12/12/11 12:26:22 INFO mapred.ReduceTask: attempt_local_0001_r_000000_0 Scheduled 0 outputs (0 slow hosts and0 dup hosts) 
12/12/11 12:26:23 INFO mapred.JobClient: map 100% reduce 0% 
12/12/11 12:26:28 INFO mapred.LocalJobRunner: reduce > copy > 
12/12/11 12:26:31 INFO mapred.LocalJobRunner: reduce > copy > 
12/12/11 12:26:37 INFO mapred.LocalJobRunner: reduce > copy > 

그러나 마지막 세 줄이 무한정 반복 (나는 ... 밤새 왼쪽), 두 개의 라인을 :

12/12/11 12:27:22 INFO mapred.ReduceTask: attempt_local_0001_r_000000_0 Need another 1 map output(s) where 0 is already in progress 
12/12/11 12:27:22 INFO mapred.ReduceTask: attempt_local_0001_r_000000_0 Scheduled 0 outputs (0 slow hosts and0 dup hosts) 

매 12 행을 반복합니다.

내 입력에 문제가 있는지, 시험 데이터의 작은 크기로 문제가 있는지 여부는 확실하지 않습니다. 이 문제를 해결하는 최선의 방법에 대한 도움이나 조언은 많은 도움이됩니다.

p.s. 지침을 따르려고했습니다. https://www.box.com/s/041rdjeh7sny128r2uki

답변

1

이것은 실제로 하둡 또는 클러스터 문제입니다. 그것은 오지 않을 매퍼 출력을 기다리고 있습니다. 매핑 단계에서 초기 실패를 찾으십시오.

+0

안녕하세요. 빠른 답장을 보내 주셔서 감사합니다. 지금 hadoop 구성을 조사 중이며 찾은 솔루션으로 업데이트 할 것입니다. Mahout in Action을 읽으 려합니다. – CaslonAmp