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; 运行结果 ? ? ? ?? ? ? 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 Server 2012 Remotedesktop:连接到特定会话主机
- Windows下安装RabbitMQ报错:unable to perform an operati
- 完全自动更新Windows
- Windows+R快捷键
- windows – 如何为机器设置本地别名?
- .net – ClickOnce部署CheckForDetailedUpdate抛出异常
- 02、Windows Server 2003的域账户管(01)
- 有没有办法循环使用Windows 8应用程序并将其全部删除?
- windows-server-2003 – 将SQL Server监控与CPU-IO统计相结
- PyCharm 安装教程(Windows)