3.5 HDFS的API操作

Hadoop提供了多种HDFS的访问接口,包括C API、HTTP API、REST API以及Java API。这里主要介绍HDFS Java API,API位于”org.apache.hadoop.fs”包中,这些API能够支持的操作包含打开文件、读写文件、删除文件等。

3.5.1 客户端环境准备

下载Windows依赖文件:hadoop-3.1.0到指定路径。

配置HADOOP_HOME环境变量

  1. 配置Path环境变量
  2. 验证Hadoop环境变量是否正常。双击winutils.exe,如果报错误。说明缺少微软运行库,安装微软运行库即可。
  3. 安装配置Maven
4.在IDEA中创建一个Maven工程HdfsClientDemo
  1. 配置POM.xml
  2. 配置log4j.properties文件
  3. 创建java文件夹,并将文件夹设置为Sources Root
  4. 设置完成后才能在java文件夹中创建package,否则不能创建。在java文件夹中创建package:com.li。
  5. 在com.li包中创建HdfsClient类,进行Java API测试
  6. 执行程序
客户端去操作HDFS时,是有一个用户身份的。默认情况下,HDFS客户端API会从采用Windows默认用户访问HDFS,会报权限异常错误。所以在访问HDFS时,一定要配置用户。

3.5.3 操作实例

  1. HDFS文件上传
  2. 参数优先级
    参数优先级排序:(1)客户端代码中设置的值 >(2)ClassPath下的用户自定义配置文件 >(3)然后是服务器的自定义配置(xxx-site.xml) >(4)服务器的默认配置(xxx-default.xml)
  3. 2.HDFS文件下载
  4. HDFS文件更名和移动
  5. HDFS删除文件和目录
  6. HDFS文件详情查看
  7. HDFS文件和文件夹判断