当前位置: 首页 > 面试题库 >

使用级联框架运行hadoop程序时,获取cascading.tap.hadoop.io.MultiInputSplit类未发现异常

冷英博
2023-03-14
问题内容

这是我的代码,它连接到hadoop机器并执行一组验证并写在另一个目录上。

      public class Main{

            public static void main(String...strings){

        System.setProperty("HADOOP_USER_NAME", "root");
        String in1 = "hdfs://myserver/user/root/adnan/inputfile.txt";
        String out = "hdfs://myserver/user/root/cascading/temp2";

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

        Tap inTap = new Hfs(new TextDelimited(true, ","), in1);
        Tap outTap = new Hfs(new TextDelimited(true, ","), out);

        Pipe inPipe = new Pipe("in1");

        Each removeErrors = new Each(inPipe, Fields.ALL, new BigFilter());
        GroupBy group = new GroupBy(removeErrors, getGroupByFields(fieldCols));
        Every mergeGroup = new Every(group, Fields.ALL, new MergeGroupAggregator(fieldCols), Fields.RESULTS);

        FlowDef flowDef = FlowDef.flowDef()
                .addSource(inPipe, inTap)
                .addTailSink(mergeGroup, outTap);

        flowConnector.connect(flowDef).complete();

}

我的工作正在提交给hadoop机器。我可以在作业追踪器上查看此信息。但是工作失败了,下面出现了异常。

在org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:389)的org.apache.hadoop.mapred.MapTask.getSplitDetails(MapTask.java:348)处找不到cascading.tap.hadoop.io.MultiInputSplit
org.apache.hadoop.mapred.Child $
4.run(Child.java:268)的org.apache.hadoop.mapred.MapTask.run(MapTask.java:333)(java.security.AccessController.doPrivileged(本机方法)在org.apache.hadoop.mapred.Child.main(Child)处的org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1408)处的javax.security.auth.Subject.doAs(Subject.java:415)
.java:262)由以下原因引起:java.lang.ClassNotFoundException:在org.apache的org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1493)上找不到cascading.tap.hadoop.io.MultiInputSplit类。
hadoop.mapred.MapTask.getSplitDetails(MapTask.java:346)…另外7个

java.lang.ClassNotFoundException:在org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1493)上找不到cascading.tap.hadoop.io.MultiInputSplit类

请注意:1.我正在Windows计算机上运行此程序,并且hadoop已在其他盒子上设置。2.我正在将cloudera分发用于CDH 4的hadoop。


问题答案:

得到了问题。CDH 4.2的级联2.1存在问题。因此更改为CDH 4.1,它对我有用。



 类似资料:
  • 这里是我的代码,它连接到hadoop机器,执行一组验证,并在另一个目录上编写。 } Cascading.tap.hadoop.io.MultiInputSplit在org.apache.hadoop.mapred.maptask.getSplitDetails(maptask.java:348)在org.apache.hadoop.mapred.maptask.runoldMapper(mapta

  • 当运行codeception时,我得到了很多错误:DeepCopy\DeepCopy::recursiveCopy。 这是个问题,让我困惑! 当我只有4个单元测试用例时,我使用codeception播放得很好: 当我仍然充满单元测试用例时,故事就发生了。 在我的测试类中有5个单元测试,然后我得到了这个: 下面是代码: php_error.log: PHP 195.#################

  • 在Eclipse中运行JUnit测试时,我会收到以下错误: 虽然我使用的是maven,但我尝试在类路径中添加库,并且JUnit库位于POM依赖项中。 我已经尝试过清理该项目,并使用Eclipse的JUnit插件创建了一个新的JUnit测试用例,但仍然得到相同的错误。

  • 问题内容: 我已经有这个问题近两个月了,无法解决。问题是,如果我的应用程序正在运行,并且我从Eclipse运行(重新安装)我的应用程序,则会收到一条错误消息,指示我的应用程序已崩溃“不幸的是,已停止。”。我注意到,当我从PC / Eclipse上运行它时,也会发生这种情况,我认为只有在一段时间不运行它时,它才会发生。 仅当应用程序在第三个活动(BaseDiagramActivity)中处于活动状态

  • 当运行我的Spring启动应用程序时,启动时低于异常。不确定是什么依赖导致了这一点。 Spring启动版本-2.3.1 IDE-Intellij 这是一个多模块maven项目。如果需要其他信息,请告诉我。 下面是我的父母pom.xml 4.0.0

  • 我只是重新运行了以下命令:、、。但现在我得到以下错误: 13/11/10 20:52:12 ERROR Security.usergroupInformation:PriviledgedActionException as:hduser case:org.apache.hadoop.ipc.remoteException:org.apache.hadoop.mapred.safemodeExcep