1. HDFS 客户端环境准备

1.1 windows 平台搭建 hadoop 2.8.5

2. 创建Maven工程

# pom.xml
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.8.5</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.8.5</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.8.5</version>
</dependency>
</dependencies>
<build>
<plugins>
<!--java 的编译版本 1.8-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>

2.1 配置src/main/resources/log4j.properties

## 输出到控制台
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n ## 输出到文件
#log4j.appender.logfile=org.apache.log4j.FileAppender
#log4j.appender.logfile.File=target/spring.log
#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

2.2 创建HDFSClient类

public class HDFSClient {

	public static void main(String[] args) {

		Configuration conf = new Configuration();
// NameNode地址
conf.set("fs.defaultFS", "hdfs://服务器IP地址:9000"); try {
// 1. 获取hdfs客户端对象
FileSystem fs = FileSystem.get(conf); // 2. 在hdfs上创建路径
fs.mkdirs(new Path("/0526/noodles")); // 3. 关闭资源
fs.close(); // 4. 程序结束
System.out.println("操作结束=========="); } catch (IOException e) {
e.printStackTrace();
}
}
}

2.2.1 异常处理

  • “Permission denied”

2.3 HDFSClient类(升级版)

import java.net.URI;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path; public class HDFSClient { public static void main(String[] args) throws Exception { Configuration conf = new Configuration();
// 1. 获取hdfs客户端对象
FileSystem fs = FileSystem.get(new URI("hdfs://服务器IP地址:9000"), conf, "root"); // 2. 在hdfs上创建路径
fs.mkdirs(new Path("/0526/test002")); // 3. 关闭资源
fs.close(); // 4. 程序结束
System.out.println("操作结束==========");
}
}

参考资料:

最新文章

  1. 如何刷新或清除HttpURLConnection的连接缓存
  2. QuickFix/N简介
  3. Nginx设置Js、Css等静态文件的缓存过期时间
  4. Android Studio配置Git及Git文件状态说明
  5. LeetCode Shortest Word Distance II
  6. ASP.Net Chart Control -----Bar and Column Charts
  7. 搭建java开发环境
  8. elevation 和 translationZ的区别
  9. 浅谈UML中类之间的五种关系及其在代码中的表现形式
  10. CSS3 Flexbox布局那些事
  11. js计算日期天数差-2013-9-26
  12. Java开源内容管理CMS系统J4CMS的几个样式
  13. nvl isnull coalesce
  14. linux yum下载文件的存放位置
  15. 在react中引入下拉刷新和上拉加载
  16. java篇 之 java概念
  17. Unity 后处理堆
  18. mysql select in 怎么优化
  19. CentOS系统实现SSH无密码登录的方法
  20. 洛谷P2633 Count on a tree 主席树

热门文章

  1. 为什么用到springboot?
  2. react 后台(一) react + redux + react-route + webpack+ axios + antd + less
  3. C/C++语言之由数字26引起的文件的数据保存与读取调试。
  4. (转)python正向连接后门
  5. Python3读写JSON文件
  6. Hdu5762
  7. csp-s模拟106
  8. Spring Security整合JWT,实现单点登录,So Easy~!
  9. python 度分秒转度
  10. [java]借助java.io.File类,完成文件批量改名