понедельник, 15 июля 2013 г.

Hadoop MapReduce "Can't read partitions file"

Во время выполнения джобы, падает вот такое исключение "Can't read partitions file"


13/07/15 18:48:42 WARN mapred.LocalJobRunner: job_local38891965_0001
java.lang.Exception: java.lang.IllegalArgumentException: Can't read partitions file
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:404)
Caused by: java.lang.IllegalArgumentException: Can't read partitions file
at org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitioner.setConf(TotalOrderPartitioner.java:108)
at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:70)
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:130)
at org.apache.hadoop.mapred.MapTask$NewOutputCollector.<init>(MapTask.java:588)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:657)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:331)
at org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.FileNotFoundException: File file:/home/anikulin/_partition.lst does not exist
at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:468)
at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:373)
at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1704)
at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1728)
at org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitioner.readPartitions(TotalOrderPartitioner.java:293)
at org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitioner.setConf(TotalOrderPartitioner.java:80)
... 12 more


Это значит что наш кластер функционирует в режиме "pseudo distributed mode"
Хотя никто его об этом не просил!
Чинится прописыванием адреса JobTracker в mapred-site.xml

В Клоудеровском исполнении это делается из консоли, добавлением свойств в
"MapReduce Service Configuration Safety Valve for mapred-site.xml"

<property>
       <name>mapred.job.tracker</name>
       <value>categorizer-hadoop-1.mywork:8021</value>
</property>


http://archive.cloudera.com/cdh4/cdh/4/hbase/book.html

Комментариев нет:

Отправить комментарий