Hadoop之HDFS客户端操作
2024-08-31 22:09:16
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("操作结束==========");
}
}
参考资料:
最新文章
- 如何刷新或清除HttpURLConnection的连接缓存
- QuickFix/N简介
- Nginx设置Js、Css等静态文件的缓存过期时间
- Android Studio配置Git及Git文件状态说明
- LeetCode Shortest Word Distance II
- ASP.Net Chart Control -----Bar and Column Charts
- 搭建java开发环境
- elevation 和 translationZ的区别
- 浅谈UML中类之间的五种关系及其在代码中的表现形式
- CSS3 Flexbox布局那些事
- js计算日期天数差-2013-9-26
- Java开源内容管理CMS系统J4CMS的几个样式
- nvl isnull coalesce
- linux yum下载文件的存放位置
- 在react中引入下拉刷新和上拉加载
- java篇 之 java概念
- Unity 后处理堆
- mysql select in 怎么优化
- CentOS系统实现SSH无密码登录的方法
- 洛谷P2633 Count on a tree 主席树
热门文章
- 为什么用到springboot?
- react 后台(一) react + redux + react-route + webpack+ axios + antd + less
- C/C++语言之由数字26引起的文件的数据保存与读取调试。
- (转)python正向连接后门
- Python3读写JSON文件
- Hdu5762
- csp-s模拟106
- Spring Security整合JWT,实现单点登录,So Easy~!
- python 度分秒转度
- [java]借助java.io.File类,完成文件批量改名