windows上传文件到 linux的hdfs

一、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

原文地址:https://www.cnblogs.com/Jomini/p/11437947.html

时间: 2024-12-09 02:10:48

windows上传文件到 linux的hdfs的相关文章

putty windows上传文件到linux服务器 &amp; 从linux服务器 下载文件到 windows

从putty官网下载putty软件:putty.exepscp.exepsftp.exe等软件 也可以自己下windows安装包putty-0.63-installer.exe 本人直接下载putty-0.63-installer.exe安装包了,然后直接安装 使用pscp方式从windows上传文件到linux服务器 在CMD命令行中进入到putty安装目录 输入pscp 回车 pscp 跟我们平时使用的linux scp命令操作的都是类似的 现在我直接从windows本地上传一个文件到lin

sftp方式从windows上传文件到Linux服务器

今天我一直用scp想实现从windows上传文件到Linux服务器,但是鼓捣了半天也没有实现.后来查资料才发现,scp实现文件的上传和下载貌似只能在Linux和Linux之间实现.(欢迎指正不对的地方) 后来开始转用sftp来解决上述问题,其中也是遇到了不少坑,下面说一下比较合理的步骤: 首先声明,我是在Windows上通过xshell5来连接远程服务器的,连接成功后如下图: 然后用sftp连接远程服务器:sftp 192.168.167.178: 再然后,修改本地上传的文件夹路径:先点击这个按

Xshell实现Windows上传文件到Linux主机

实现从xshell终端linux系统上传rz.下载sz命令文件:只需要安装这个包即可. [[email protected] src]# yum install -y lrzsz 3.从Windows上传文件,上传命令为rz:在Linux命令行下输入rz,上传的文件在当前命令行的目录下: [[email protected] src]# rz 输入rz命令后,会弹出对话框,选择你要上传的文件,选择打开就上传到Linux主机.上传完可以使用ls 查看: 也可以直接拖曳文件到xshell终端. 4.

从windows上传文件到linux,中文名乱码解决方法

上传一个名称为"一级页面.html"的文件到linux服务器 ll命令查看文件名是乱码 在windows上将html文件压缩为test.zip,上传到linux服务器 再在服务器上unzip解压,解压后文件名称就显示正常了. 此种方法对目录也有效.

利用Xshell从windows上传文件到linux

1.首先,打开你的xshell客户端. 2.我用的是ubuntu 所以用 apt-get install lrzsz 命令来安装这个上传软件. 安装成功以后,可以使用rz上传,sz下载. 然后等待上传下载完成即可. 有相关问题欢迎交流.

CI支持各种文件上传-文件类型(Linux + window)

$mimes = array( 'hqx' => 'application/mac-binhex40', 'cpt' => 'application/mac-compactpro', 'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv'

SpringBoot 上传文件到linux服务器 异常java.io.FileNotFoundException: /tmp/tomcat.50898……解决方案

SpringBoot 上传文件到linux服务器报错java.io.FileNotFoundException: /tmp/tomcat.50898-- 报错原因: 解决方法 java.io.IOException: java.io.FileNotFoundException: /tmp/tomcat.5089835798184465073.8081/work/Tomcat/localhost/ROOT/www/server/apache-tomcat-8.5.32/webapps/jxmsto

Windows 使用ssh secure file transfer上传文件到linux服务器

SSH Secure Shell Client是SSH命令行控制终端,你应该是用SSH Secure File Transfer Client传输文件.这里只谈论他的使用方法,关于SSH配置你再找其他文章.一.登陆方法你可以在登陆的SSH Secure Shell Client里单击工具栏里(或菜单)的New File Transfer Window,就直接登陆了.也可以单独运行SSH Secure File Transfer Client.登陆非常简单,填写Host Name(你的服务器地址或

从Windows上传文件到Ubuntu的一种方法

由于学习需要,需要从Windows操作系统上传文件到Ubuntu中,度娘上的方法很多,这只是其中一种--借助WinSCP软件,优点:软件易于安装.整体操作非常简单.不说了,先上文.. 1.安装WinSCP  软件下载地址:http://rj.baidu.com/soft/detail/15150.html?ald 2.通过命令:ifconfig  在Ubuntu上查看IP地址: 3.在Windows操作系统上打开winSCP软件,登录winSCP 4.登录winSCP之后在windows和Ubu