Hadoop集群的hdfs的java 的api的编写过程

矫情吗;* 2022-12-09 04:52 137阅读 0赞

开发环境:windows10、idea2020.2.1

需要配置的环境:

hadoop3.3.0,以及winutils.exe等文件的配置:

链接:https://pan.baidu.com/s/1dJDuAejepxsZQcHE7HCPQA 提取码:3utf

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d0bDE5OTI_size_16_color_FFFFFF_t_70

将上述的文件拷贝到windows里的hadoop的bin里。

然后配置HADOOP_HOME的环境变量,并添加到Path环境变量中。

这时候可能你打开的idea依然报错:

java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.

然后重启idea,再次运行就可以了!!!

maven依赖:

  1. <!--hadoop-->
  2. <dependency>
  3. <groupId>org.apache.hadoop</groupId>
  4. <artifactId>hadoop-common</artifactId>
  5. <version>3.3.0</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>org.apache.hadoop</groupId>
  9. <artifactId>hadoop-hdfs</artifactId>
  10. <version>3.3.0</version>
  11. </dependency>
  12. <dependency>
  13. <groupId>org.apache.hadoop</groupId>
  14. <artifactId>hadoop-client</artifactId>
  15. <version>3.3.0</version>
  16. </dependency>
  17. package application.service.hadoop;
  18. import org.apache.hadoop.conf.Configuration;
  19. import org.apache.hadoop.fs.FileSystem;
  20. import org.apache.hadoop.fs.LocatedFileStatus;
  21. import org.apache.hadoop.fs.Path;
  22. import org.apache.hadoop.fs.RemoteIterator;
  23. import org.junit.Before;
  24. import org.junit.Test;
  25. import java.io.IOException;
  26. /**
  27. * @author: wtl
  28. * @License: (C) Copyright 2020, wtl Corporation Limited.
  29. * @Contact: 1050100468@qq.com
  30. * @Date: 2020-09-21 20:15
  31. * @Version: 1.0
  32. * @Description:
  33. */
  34. public class HdfsOperateTest {
  35. private FileSystem fileSystem = null;
  36. @Before
  37. public void init() throws Exception {
  38. Configuration configuration = new Configuration();
  39. //设置要连接的hdfs集群
  40. configuration.set("fs.defaultFS","hdfs://hadoop01:9000");
  41. fileSystem = FileSystem.get(configuration);
  42. }
  43. @Test
  44. public void copyFromLocalFile() throws Exception {
  45. fileSystem.copyFromLocalFile(new Path("D:/datas/wordcount.txt"),new Path("/"));
  46. }
  47. @Test
  48. public void copyToLocalFile() throws Exception {
  49. fileSystem.copyToLocalFile(new Path("/wordcount.txt"),new Path("D:/datas/"));
  50. }
  51. @Test
  52. public void delete() throws Exception {
  53. boolean delete = fileSystem.delete(new Path("/ideaIU-2019.2.4.tar.gz"),true);
  54. System.out.println(delete);
  55. }
  56. @Test
  57. public void listFiles() throws Exception {
  58. RemoteIterator<LocatedFileStatus> locatedFileStatusRemoteIterator = fileSystem.listFiles(new Path("/"), true);
  59. while (locatedFileStatusRemoteIterator.hasNext()){
  60. LocatedFileStatus locatedFileStatus = locatedFileStatusRemoteIterator.next();
  61. System.out.println(locatedFileStatus.getPath());
  62. System.out.println(locatedFileStatus.getLen());
  63. System.out.println(locatedFileStatus.getReplication());
  64. }
  65. }
  66. }

发表评论

表情:
评论列表 (有 0 条评论,137人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Hadoop HDFS 安全模式

    概述 NameNode 启动时,首先将映像文件(fsimage)载入内存,并执行编辑日志(edits)中的各项操作。 一旦在内存中成功建立文件系统元数据的映像,则创建