hadoop配置环境变量和如何使用Java操作HDFS

一、Hadoop深入认识

1.了解Hadoop
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。

用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
Hadoop是一个能够对大量数据进行分布式处理的软件框架。 Hadoop 以一种可靠、高效、可伸缩的方式进行数据处理。
Hadoop由HDFS、MapReduce、HBase、Hive和ZooKeeper等成员组成,其中最基础最重要元素为底层用于存储集群中所有存储节点文件的文件系统HDFS(Hadoop Distributed File System)来执行MapReduce程序的MapReduce引擎。
2.HDFS
HDFS是什么:HDFS即Hadoop分布式文件系统(Hadoop Distributed Filesystem),以流式数据访问模式来存储超大文件,运行于商用硬件集群上,是管理网络中跨多台计算机存储的文件系统。
HDFS的三个节点:Namenode,Datanode,Secondary Namenode

•NameNode
可以看作是分布式文件系统中的管理者,存储文件系统的meta-data,主要负责管理文件系统的命名空间,集群配置信息,存储块的复制。
•DataNode
是文件存储的基本单元。它存储文件块在本地文件系统中,保存了文件块的meta-data,同时周期性的发送所有存在的文件块的报告给NameNode。
Secondary Namenode:辅助后台程序,与NameNode进行通信,以便定期保存HDFS元数据的快照。
部分摘自以下博客:https://blog.csdn.net/qq_24817093/article/details/79019529?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159917324119725247421536%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=159917324119725247421536&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_click~default-2-79019529.pc_ecpm_v3_pc_rank_v3&utm_term=hadoop&spm=1018.2118.3001.4187

二、配置环境变量

1.把hadoop-bin.rar中内容解压到hadoop中bin目录下
2.把hadoop.dll放到C:\windows\system32\目录下
3.配置hadoop环境变量 HADOOP_HOME和path变量中假如%HADOOP_HONE%\bin 和sbin
hadoop配置环境变量和如何使用Java操作HDFS
hadoop配置环境变量和如何使用Java操作HDFS

三、使用Java操作HDFS

  1. Configuration cfg=new Configuration();
    2.cfg.set(“fs.defaultFS”,“hdfs://ip地址:9000”)
    3.换取文件系统: FileSystem fs=FileSystem.get(cfg);
    1~3 FileSystem fs=FileSystem(new URI(“hdfs9000”,new Configuration(),“root”)
    4.获取hdfs路径;
    FSDataInputStream is=fs.open(“hdfs上的文件路径”);
    5.查看流

具体操作如下:
1.在idea中创建一个MAVEN工程
2.登录maven网页,找到下载版本的代码信息
hadoop配置环境变量和如何使用Java操作HDFS
选择2.6.0版本,然后复制文档信息,到我们的Idea里的XML文档里
hadoop配置环境变量和如何使用Java操作HDFS
3.idea里的xml要更改的信息有:
1.7 --.>1.8
4.11–>4.12
hadoop配置环境变量和如何使用Java操作HDFS
把之前复制的文本信息放进来:
hadoop配置环境变量和如何使用Java操作HDFS
一共有三个需要下载
一般会有手动和自动,可以根据个人需求选择
之后,我们创建一个java工程
利用Java来操作hdfs:
读取文档如下代码:
hadoop配置环境变量和如何使用Java操作HDFS

运行结果是我们放上的文档,代表读取成功

删除:fs.delete

四、在maba里使用Java的jar包读取

1.编写测试完成
2.打jar包时把main方法指定
3.编译生成jar包,把jar包上传到linux
4.hadoop jar jar包路径 main方法类的路径 参数列表

如何打jar包呢?
打jar包:

File–>Project Structrue–>Artifacts–> ±->JAR–>From modules–>OK–>OK

Build–>Build Artifacts–>Build

此时在out目录下有个artifacts下有这个jar包

可以把这个jar包和生成的txt发给别人共享。

使用jar包:

File–>Project Structrue–>Modules–>Dependencies–>±->JARs or directories–>选择要用的jar包–>OK–>打钩–>OK

此时在External Libraries目录下会出现此jar包,双击可以看到。

将txt文件拖到out目录的同一级目录下。

运行代码就可以实现