Hadoop框架之HDFS客户端操作(开发重点)

这是我参与更文挑战的第15天,活动详情查看:更文挑战

图片

上一篇:Hadoop框架之HDFS概述,主要讲解的是常见的Shell操作命令。今天小编要讲解的内容是HDFS客户端操作(开发重点),主要内容为:(1)HDFS客户端环境准备;(2)HDFS的API操作;(3)HDFS的I/O流操作。

根据自己电脑的操作系统拷贝对应的编译后的hadoop jar包到非中文路径(例如:D:\software\hadoop-2.7.2),如图下图所示。

图片

2.配置HADOOP_HOME环境变量,如图所示。

图片3. 配置Path环境变量,如图所示。

图片

1~3 所用的参考资料汇总如下:

===================

参考1:使用IntelliJ IDEA 配置JDK:

blog.csdn.net/nobb111/art…

参考2:Maven环境配置及IntelliJ IDEA中的Maven部署

www.cnblogs.com/sigm/p/6035…

blog.csdn.net/tigaobanson…

blog.csdn.net/weixin\_392…

4. 创建一个Maven工程HdfsClientDemo

参考1:创建一个Maven工程HdfsClientDemo

blog.csdn.net/weixin\_398…

www.cnblogs.com/clicklin/p/…

图片注意:如果Eclipse/Idea打印不出日志,在控制台上只显示

需要在项目的src/main/resources目录下新建文件,命名为“log4j.properties”,在文件中填入如下内容:

图片

图片

运行时需要配置用户名称。客户端去操作HDFS时,是有一个用户身份的。默认情况下,HDFS客户端API会从JVM中获取一个参数来作为自己的用户身份:-DHADOOP_USER_NAME=xuefa,xuefa为用户名称。

http://192.168.220.132:50070/explorer.html#/

图片

图片

2. 将hdfs-site.xml拷贝到项目的根目录下(resource)

参数优先级排序:(1)客户端代码中设置的值 >(2)ClassPath下的用户自定义配置文件 >(3)然后是服务器的默认配置

1. idea查看源码没有注释的问题,参考以下文章设置:

www.cnblogs.com/tdyang/p/11…

2. Intellij idea 报错:Error : java 不支持发行版本5,解决方法如下:

blog.csdn.net/qq\_4258320…

3. Maven的settings.xml配置详解,参考链接如下:

www.cnblogs.com/dalianpai/p…

No.3 HDFS的I/O流操作

上面我们学的API操作HDFS系统都是框架封装好的。那么如果我们想自己实现上述API的操作该怎么实现呢?

3.1 HDFS文件上传


1.需求:把本地e盘上的banhua.txt文件上传到HDFS根目录

3.2 HDFS文件下载

1.需求:从HDFS上下载banhua.txt文件到本地e盘上

3.3 定位文件读取

1. 需求:分块读取HDFS上的大文件,比如根目录下的/hadoop-2.7.2.tar.gz

在Window命令窗口中进入到目录E:\,然后执行如下命令,对数据进行合并

type hadoop-2.7.2.tar.gz.part2 >>hadoop-2.7.2.tar.gz.part1

合并完成后,将hadoop-2.7.2.tar.gz.part1重新命名为hadoop-2.7.2.tar.gz。解压发现该tar包非常完整。

今天学习内容到此结束,后续继续学习,请保持关注!更多精彩内容,请关注公众号:小韩学长带你学

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享