2013-10-01 2 views
0

Привет Я новичок в каскадировании и последующей работе с документом «Рабочие процессы с каскадом». Я проверил с hadoop 1.0.4, и я загружаю каскадирование 2.1.6. Я настраиваю все с помощью NetBeans IDE со всеми файлами jar.Каскадирование 2.1.6 + hadoop 1.0.4 Ошибка

Код:

 package main.java.impatient; 

    import java.util.Properties; 

    import cascading.flow.Flow; 
    import cascading.flow.FlowDef; 
    import cascading.flow.hadoop.HadoopFlowConnector; 
    import cascading.pipe.Pipe; 
    import cascading.property.AppProps; 
    import cascading.scheme.hadoop.TextDelimited; 
    import cascading.tap.Tap; 
    import cascading.tap.hadoop.Hfs; 
    import cascading.tuple.Fields; 


public class 
    Main 
{ 
public static void 
main(String[] args) 
{ 
String inPath = args[ 0 ]; 
String outPath = args[ 1 ]; 

Properties properties = new Properties(); 
AppProps.setApplicationJarClass(properties, Main.class); 
HadoopFlowConnector flowConnector = new HadoopFlowConnector(properties); 

// create the source tap 
Tap inTap = new Hfs(new TextDelimited(true, "\t"), inPath); 

// create the sink tap 
Tap outTap = new Hfs(new TextDelimited(true, "\t"), outPath); 

// specify a pipe to connect the taps 
Pipe copyPipe = new Pipe("copy"); 

// connect the taps, pipes, etc., into a flow 
FlowDef flowDef = FlowDef.flowDef() 
.addSource(copyPipe, inTap) 
.addTailSink(copyPipe, outTap); 

// run the flow 
flowConnector.connect(flowDef).complete(); 
} 
    } 

Вот ошибка: Ошибка

 Exception in thread "main" cascading.flow.FlowException: step failed: (1/1) ...ka/cascading/part1/output, with job id: job_201310020226_0004, please see cluster logs for failure messages 
at cascading.flow.planner.FlowStepJob.blockOnJob(FlowStepJob.java:210) 
at cascading.flow.planner.FlowStepJob.start(FlowStepJob.java:145) 
at cascading.flow.planner.FlowStepJob.call(FlowStepJob.java:120) 
at cascading.flow.planner.FlowStepJob.call(FlowStepJob.java:42) 
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:895) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) 
at java.lang.Thread.run(Thread.java:680) 

Hadoop Работа:

java.io.IOException: Split class cascading.tap.hadoop.io.MultiInputSplit not found 
at org.apache.hadoop.mapred.MapTask.getSplitDetails(MapTask.java:387) 
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:412) 
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:372) 
at org.apache.hadoop.mapred.Child$4.run(Child.java:255) 
at java.security.AccessController.doPrivileged(Native Method) 
at javax.security.auth.Subject.doAs(Subject.java:396) 
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) 
at org.apache.hadoop.mapred.Child.main(Child.java:249) 
    Caused by: java.lang.ClassNotFoundException: cascading.tap.hadoop.io.MultiInputSplit 
at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:249) 
at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:820) 
at org.apache.hadoop.mapred.MapTask.getSplitDetails(MapTask.java:385) 
... 7 more 

Может кто-нибудь помочь мне

Спасибо

ответ

0

Вы бы лучше не загружать и устанавливать самостоятельно путь к классам, которые плохо для управления Java зависимостей модулей проекта. Вам даже не нужно устанавливать и настраивать хаос и каскадирование вообще.

Лучший способ попробовать учебник кодов

ШАГ 1: Очистите путь к классам для Hadoop и каскадирования, которые могут привести к конфликтам.

ШАГ 2: Установите необходимые зависимости с gradle (строительным инструментом по умолчанию в нетерпеливом проекте)

cd $your_workspace 
git clone [email protected]:Cascading/Impatient.git 
cd Impatient 
gralde install 

ШАГ 3: Вы бы лучше использовать IDE eclipse (http://eclipse.org/) или IntelliJ IDEA из-за нетерпеливый проект добавлена ​​идея и плагин eclipse по умолчанию. Такие задачи будут загружать все необходимые зависимости, включая каскадные и связанные с хаосом пакеты и создавать определенные файлы проекта IDE.

gradle idea 

или

gradle eclipse 

Пример вывода:

$ gradle idea 
:ideaModule 
:ideaProject 
:ideaWorkspace 
:idea 
:part1:ideaModule 
Download http://repo1.maven.org/maven2/commons-logging/commons-logging/1.1/commons-logging-1.1.pom 
Download http://repo1.maven.org/maven2/org/apache/hadoop/hadoop-core/1.1.2/hadoop-core-1.1.2.pom 
... 
BUILD SUCCESSFUL 

Total time: 1 mins 30.579 secs 

Вы можете нашли IDE указано файлы проекта (идея, например):

$ ls -al impatient.* 
-rw-r--r-- 1 wheel 521 Oct 26 07:18 impatient.iml 
-rw-r--r-- 1 wheel 4430 Oct 26 07:18 impatient.ipr 
-rw-r--r-- 1 wheel 9299 Oct 26 07:18 impatient.iws 

ШАГ 5: import existing project/module с использованием идеи IDE или затмения.

Конечно, я думаю, что затмение/идея/netbeans у всех есть свои собственные плагины, поддерживающие gradle проектов.

Желание помочь.

0

Возможно, ваша банка не была правильно структурирована. Протестируйте его с помощью плоской банки с maven-shade-plugin

Смежные вопросы