设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 服务器 > 系统 > 正文

windows上传文件到 linux的hdfs

发布时间:2021-01-04 14:38 所属栏目:52 来源:网络整理
导读:一、windows上传文件到 linux的hdfs 1、先在 centos 上开启 hdfs,用 jps 可以看到下面信息, 说明完成开启 ? ? ? ? 2、在win上配置 hadoop (https://www.cnblogs.com/Jomini/p/11432484.html) 后, ? ? ? 要在 hadoop 的 bin 文件上放以下两个文件(网上找下

一、windows上传文件到 linux的hdfs

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

? ? ?

windows上传文件到 linux的hdfs

?

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

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

? ? ??

windows上传文件到 linux的hdfs

?

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 上的用户,不然抛出用户权限问题

? ? ? ?

windows上传文件到 linux的hdfs

?

?console

?

? ? ? ??

windows上传文件到 linux的hdfs

?hdfs

? ? ??

windows上传文件到 linux的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"); } }

  运行结果

windows上传文件到 linux的hdfs

?

? ? ??

? ? 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??

?

windows上传文件到 linux的hdfs

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读