首页 > Web开发 > 详细

通过shell上传文件到HDFS的原理-【未完待续】

时间:2015-11-04 21:34:49      阅读:1078      评论:0      收藏:0      [点我收藏+]

公司需要实时收集数据到HDFS, 于是需要调研客户端如何上传文件的细节。

刚开始看了Flume 1.6.0 的HDFSEventSink模块,大致看了下,但是感觉它自己内部封装的东西太多了,实在懒得直接用它家的玩意 。

那该怎么办?既然HDFS提供了shell命令上传文件,我们就看看它的上传过程,然后自己写java代码来实现一遍,就可以搞定。

 

 

===1 确定HDFS版本号

这个由于我们用的是CDH-5.4.7,然后上管理界面看了下HDFS的版本,截图如下:

技术分享

所以,很轻松的,我们得到了版本号: 2.6.0 .

 

 

===2 本地下载HDFS的二进制文件

下载地址:http://archive.apache.org/dist/hadoop/core/hadoop-2.6.0/

文件地址:http://archive.apache.org/dist/hadoop/core/hadoop-2.6.0/hadoop-2.6.0.tar.gz

 

 

===3 上传到Linux机器、解压缩

tar -zvxf hadoop-2.6.0.tar.gz

技术分享

 

===4 shell上传文件

shell的命令如下:

技术分享

查看HDFS里的文件系统有没有上传成功

技术分享

说明上传成功了

 

如果再执行一次会怎样?

技术分享

就会提示文件已经存在。

 

然后,可以可以通过别的脚本来执行

技术分享

 

 

===5 shell文件内容分析

既然,我们知道可以通过shell来上传文件,那么到底执行了什么过程呢?这就需要我们去查看shell文件来一窥究竟了!

技术分享

 打开这个文件,有278行,我们要怎么分析这个脚本呢?

一行一行的分析固然没有问题,但是,时间宝贵啊。。。

直接切入到我们感兴趣的地方即可,哪里是我们感兴趣的地方呢?

 

 

 

 

 

 

 

 

 

通过shell上传文件到HDFS的原理-【未完待续】

原文:http://my.oschina.net/qiangzigege/blog/525975

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!