设为首页 收藏本站
查看: 1400|回复: 0

[经验分享] 如何远程读取CDH的hadoop上的HDFS数据?

[复制链接]

尚未签到

发表于 2016-12-10 09:07:16 | 显示全部楼层 |阅读模式
以前,散仙曾写过一篇如何在win上使用eclipse远程读取HDFS上的数据,不过当时使用的hadoop是1.2版本的,而且还是apache的,今天hadoop的最新版本已经到hadoop2.6了,而我们服务器上的hadoop是CHD5.3的版本,使用的hadoop是hadoop2.5.0版本的。
今天,散仙就以hadoop2.x的版本记录下,如何在eclipse中远程连接并读取数据,在网上搜的代码,大部分说的都比较复杂,其实如果只想连接HDFS读取一些数据话,这个是非常简单的,如果还要在Eclipse上远程提交MapReduce作业,这个就比较麻烦了,需要改动几处hadoop的源码才可以,所以建议初学者,还是在eclipse中,写好MR的类,然后打包成一个jar包上传linux并执行。

下面进入正题,在eclipse上连接hadoop,为了方便建议大家把hadoop里面所有的jar包都整理成一份目录的jar包,默认的hadoop的jar中是分散在\hadoop-2.5.0\share\hadoop目录下的各个子文件夹里,这6个目录分别是common,hdfs,httpfs,mapreduce,tools,yarn,然后把集中起来的jar中,引入项目中。
接下来,我们便可以编写我们的工具类,来读取HDFS上的数据了,注意这里并不需要把hadoop的conf下的配置文件core-site.xml,hdfs-site.xml等拷贝到项目的根目录下,而在网上看到的大部分的文章都说把hadoop的配置文件拷贝下来,其实完全没必要,我们只需要在实例化出来的Configuration中加入HDFS的端口路径即可,其他的除了hadoop的jar包外,任何配置文件都不需要,核心代码如下:

static Configuration conf=new  Configuration();
static FileSystem fs=null;
static{
try {
//默认的hadoop的fs.defaultFS的端口号为8020,这里需要跟集群里面的配置一致
conf.set("fs.defaultFS","hdfs://dnode1:8020/");  
fs=FileSystem.get(conf);
} catch (IOException e) {
log.error("初始化FileSystem失败!",e);
}
}
OK,只需要这简单的一行,我们就可以读取HDFS上的数据了,另外如要注意的是,需要把hadoop的对应的host也配置在win上的host文件里,避免访问文件系统出错,只要上面这一步打通,下面的对于HDFS系统上文件和目录增删改查,以及对文件内容的读取和写入,散仙在这里就不多写了,这个很简单,大家看看FileSystem这个类的Api就能很容易掌握的。


如果有什么疑问,欢迎扫码关注微信公众号:我是攻城师(woshigcs)
本公众号的内容是有关大数据技术和互联网等方面内容的分享,也是一个温馨的技术互动交流的小家园,有什么问题随时都可以留言,欢迎大家来访!

DSC0000.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-312163-1-1.html 上篇帖子: hadoop 1.2.1 安装步骤 伪分布式 下篇帖子: Hadoop 0.23.6安装实践1-单机开发版安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表