jancan 2015-09-14 15:09 采纳率: 0%
浏览 2611
已结题

求救高手,Mapreduce导入数据到Hadoop报ClassNotFoundException

最近在用Mapreduce连Hadoop,出现各类问题。请高手答疑。
环境:
hadoop:2.7.0
Hbase:1.0.1.1

刚开始的时候报:HBaseConfiguration 找不到,百度之,说将 hbase的lib下的jar复制到hadoop的lib下
复制之,无果,找各类参考资料修改hadoop参数,都还是报异常。
最后无奈,只能修改 hadoop-env.sh,将 hbase 的lib加入到 classpath下。
图片说明

最后终于不报这个异常。
可是接着更加无解的事情发生了。
图片说明
报出各类我自己定义的类找不到。
网上找遍了所有的贴,没找到答案。

    public static void main(String[] args) throws Exception 
    {       
        Configuration conf = new Configuration();
        conf = HBaseConfiguration.create(conf);

        if (args.length != 6) 
        {
            System.err.println("Usage: MroFormat <in-mro> <in-xdr> <sample tbname> <event tbname>");
            System.exit(2);
        }
        //makeConfig(conf, args);

        String inpath1 = args[0];
        String inpath2 = args[1];

        Job job = Job.getInstance(conf,"MyTest");
        job.setNumReduceTasks(40);        

        job.setJarByClass(Main.class);  
        job.setReducerClass(ReduceDeal.MroFormatReducer.class);   
        //job.setReducerClass(ReduceDeal.TestReducer.class); 
        job.setSortComparatorClass(MapDeal.SortKeyComparator.class);
        job.setPartitionerClass(MapDeal.CellIDPartitioner.class);
        job.setGroupingComparatorClass(MapDeal.SortKeyGroupComparator.class);           
        job.setMapOutputKeyClass(CellTimeKeyPare.class);
        job.setMapOutputValueClass(Text.class); 



        MultipleInputs.addInputPath(job, new Path(inpath1), KeyValueTextInputFormat.class, MapDeal.MroMapper.class);
        MultipleInputs.addInputPath(job, new Path(inpath2), TextInputFormat.class, MapDeal.XdrMapper.class);    
        job.setOutputFormatClass(MultiTableOutputFormat.class); 
        //job.setOutputFormatClass(NullOutputFormat.class);

        //LOG.info(job.getPartitionerClass().getName());

        //TableMapReduceUtil.addDependencyJars(job);
        //TableMapReduceUtil.addDependencyJars(job.getConfiguration());

        //TableMapReduceUtil.initTableReducerJob("tab1", ReduceDeal.MroFormatReducer.class, job);



        System.exit(job.waitForCompletion(true) ? 0 : 1);

    }

在本机的win7环境下,代码能跑过,但打包放到服务器就报错,找不着类。去掉了“conf = HBaseConfiguration.create(conf);”这段代码后,下面的 处理类就可以找到。请大牛们帮忙看看,非常感谢

  • 写回答

2条回答 默认 最新

  • jancan 2015-09-14 15:15
    关注

    难道是我的环境有问题吗?

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!