一、windows上传文件到 linux的hdfs

1、先在 centos 上开启 hdfs, 用 jps 可以看到下面信息, 说明完成开启

2、在win上配置 hadoop (https://www.cnblogs.com/Jomini/p/11432484.html) 后,

要在 hadoop 的 bin 文件上放以下两个文件(网上找下载),

3、创建 maven 工程, 运行读写程序

pom 文件

<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.7.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.7.2</version>
</dependency>

     运行上传文件

import java.io.IOException;
import java.net.Socket;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path; public class Apptest {
public static void main(String[] args) throws Exception, IOException {
upload();
} public static void upload() throws IOException {
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://192.168.121.133:9000");
FileSystem fs = FileSystem.get(conf);
Path src = new Path("d://test.txt");
Path dest = new Path("/");
fs.copyFromLocalFile(src, dest);
FileStatus[] fileStatus = fs.listStatus(dest);
for (FileStatus file : fileStatus) {
System.out.println(file.getPath());
}
System.out.println("上传成功");
} }

 运行使用 Run configuration, 要 配置 linux 上的用户,不然抛出用户权限问题

console

hdfs

二、在 hdfs 创建路径创建路径

2.1 在 hdfs 创建路径

程序

import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class Apptest {
public static void main(String[] args) throws Exception, IOException {
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://192.168.121.133:9000");
//获取hdfs 客户端对象
FileSystem fs = FileSystem.get(conf);
//在hdfs 上创建路径
fs.mkdirs(new Path("/testPath"));
//关闭资源
fs.close(); System.out.println("end");
}
}

  运行结果

2.2  在上面创建的路径 "/testPath" 下面 再创建路径 file

程序

import java.io.IOException;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path; public class Apptest {
public static void main(String[] args) throws Exception, IOException { Configuration conf = new Configuration(); //获取hdfs 客户端对象
FileSystem fs = FileSystem.get(new URI("hdfs://192.168.121.133:9000"),conf,"root"); //在 /testPath 下创建路径
fs.mkdirs(new Path("/testPath/file")); //关闭资源
fs.close(); System.out.println("end");
}
}

    点击在hdfs上面的路径 /testPath 会出现 /file

最新文章

  1. Python递归报错:RuntimeError: maximum recursion depth exceeded in comparison
  2. 从NSGA到 NSGA II
  3. ORA-30004 错误处理
  4. CSS“反转”为LESS
  5. height/innerHeight/outerHeight
  6. cron expr
  7. 关于ajax post请求跨域问题的解决心得
  8. MySQL常见SQL语句用法
  9. Elasticsearch6.3.2启动过程源码阅读记录
  10. NB-IoT省电模式:PSM、DRX、eDRX【转】
  11. ztree插件异步加载 使用RESTEasy报错 Only resource methods using @FormParam will work as expected. Resource methods consuming the request body by other means will not work as expected.
  12. CodeForces 55D &quot;Beautiful numbers&quot;(数位DP+离散化处理)
  13. 5 项目---自定义用户模型以及轮播图图片url返回格式
  14. [LeetCode&amp;Python] Problem 387. First Unique Character in a String
  15. Dubbo+Zookeeper+Spring整合应用篇-Dubbo基于Zookeeper实现分布式服务(转)
  16. mysql python pymysql模块 增删改查 插入数据 介绍 commit() execute() executemany() 函数
  17. selenium+python自动化97--unittest参数化(paramunittest)
  18. unity 主循环
  19. tcp的三次握手:通信的本质:通信通知与信息交换
  20. poj 1655 树的重心

热门文章

  1. CentOS7 通过 devstack 安装 OpenStack
  2. 【正则】day02
  3. 本博客采用 CC BY-NC-SA 4.0 进行许可
  4. centos 启动一个tcp服务程序
  5. idea2019最新注册码(亲测有效)
  6. webpack-实用的2个配置
  7. c#的文本格式化形式展示
  8. linux 查找被删除但是未被释放空间的文件 并释放资源
  9. centos 8 重启网络 systemctl restart network 失效的解决办法
  10. Kafka学习笔记之Kafka High Availability(上)