前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hadoop+Maven项目打包异常

Hadoop+Maven项目打包异常

作者头像
我是攻城师
发布2018-05-11 18:17:48
9590
发布2018-05-11 18:17:48
举报
文章被收录于专栏:我是攻城师

先简单说下业务:有一个单独的模块,可以在远程下载Hadoop上的索引,然后合并压缩,最后推送到solr服务器上 原来使用的是Ant打包,外部的jar是在执行主体的jar时cp进环境变量的,所以没有出现今天要说的这个问题,操作先把所有外部的jar的路径,拼接好一个字符串path,然后将path传入下面执行的代码 java -cp path com.xxx.xxx.Test 现在要统一项目风格,要把Ant项目转换为Maven项目,大体上没啥问题,由于不写MapReduce,仅仅使用HDFS api操作文件系统上的一些数据,所以引入的依赖如下,并没有hadoop-client

打包也很顺利,但是,当到Linux上,执行远程下载Hadoop上的 数据时,总是报如下的异常:

然后检查了下项目依赖的包,发现不缺依赖的jar,经过找资料,发现原来是maven-assembly 这个插件在打包时,覆盖了hadoop的两个关键属性:

Java代码

  1. conf.set("fs.hdfs.impl", org.apache.hadoop.hdfs.DistributedFileSystem.class.getName());
  2. conf.set("fs.file.impl", org.apache.hadoop.fs.LocalFileSystem.class.getName());
代码语言:javascript
复制
conf.set("fs.hdfs.impl", org.apache.hadoop.hdfs.DistributedFileSystem.class.getName());
 conf.set("fs.file.impl", org.apache.hadoop.fs.LocalFileSystem.class.getName());

如何解决? 方法一: 在实例化Configuration类 , 加入如下属性:

方法二:在项目路径下新建一个core-site.xml配置如下属性即可

参考链接:http://blog.intelligencecomputing.io/big_data/13953/repost-no-filesystem-for-scheme-hdfsno-filesystem-for-scheme-file

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我是攻城师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档