如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

这篇文章将为大家详细讲解有关如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创新互联建站主要从事成都网站设计、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务宝山,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220

本讲我们来讲解如何读写另外一台计算机上面的HDFS。在实际的环境中,我们的HDFS存储和应用程序很有可能是运行在不同的计算机上的。

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

上一讲我们实现了网络的互通,那么这一讲我们来讲解编写一个java程序来读写hdfs.。

步骤:

1、确保两台电脑网络互通(上一讲内容);

2、Centos里面的HDFS运行正常(上一讲内容);

3、Centos里面的防火墙开通9000端口(也就是centos里面的hdfs配置端口)

4、配置Windows里面的JDK;

5、配置Windows里面的Hadoop;

6、配置eclipse相关的hadoop插件或library包

7、创建Java程序。

一、开通9000端口

在centos的防火墙开通9000端口,如下:

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

centos开启后,在windows里面的浏览器可以访问如下来测试是否能正常访问该端口:(注意这里要用浏览器的极速模式或者谷歌浏览器,ie浏览器或者兼容模式可能无法访问)

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

另外,下面的所有的cmd命令都需要在新打开的cmd窗口中操作,如果用之前打开的cmd窗口,有可能测试失败,因为cmd都是针对打开窗口的时候的系统环境生效的。

二、配置Windows里面的JDK

本次演示的jdk版本

链接:https://pan.baidu.com/s/1X3hqp8DhdF-JEcK4rE6TyQ 
提取码:kvgj 
 

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

我这里的jdk文件存放的位置。

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

配置java_home

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

配置class_path

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

配置path

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

最终测试 java  和javac 命令都正常即可。

三、配置Windows里面的Hadoop

3.1配置环境变量

把hadoop压缩包解压,和centos里面的是通用的,只不过后缀为tar.zip的压缩包要不断解压才能得到最里面的文件夹。我这里是放在C盘根目录下。

链接:https://pan.baidu.com/s/1AJLenl05gs75XOQJisOyFg 
提取码:4t4d 
上面的hadoop的版本

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

然后配置path,把hadoop_home加入到path里面

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

保存后,cmd运行查看版本,或者直接在cmd命令框输入hadoop,如果提示以下错误:

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

根据提示,打开hadoop下面的hadoop-env.cmd  这里要注意的是cmd后缀是针对windows的,同名的sh后缀的是针对linux系统的。

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

选中hadoop-env.cmd文件,然后点击编辑(双击就直接运行了)。打开后把里面的“set JAVA_HOME=”改成如下:

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

上面要注意的是,因为我的java是放在 C:\Program Files 里面的,如果直接写C:\Program Files\Java\jdk-13.0.2 那么在dos模式下系统是无法识别这个路径的。

dos文件名模式下,“C:\Program Files”的缩写是“PROGRA~1”。或者改成“C:\Program Files”\Java\jdk-13.0.2  

也就是用双引号括起来,否则系统无法识别有效的路径。

设置完后,运行cmd,可以看到正常了。

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

3.2下载winutils.exe

winutils.exe是在Windows系统上需要的hadoop调试环境工具,里面包含一些在Windows系统下调试hadoop、spark所需要的基本的工具类,

单个winutils.exe链接:https://pan.baidu.com/s/1tsnA4dKOaaI-kdtjqZ5gTQ 
提取码:ip7h

下载后放在hadoop根目录bin下面

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

否则会提示:

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

3.3 下载hadoop.dll

将hadoop.dll分别复制到hadoop根目录的/bin和 C:\windows\system32目录下。

单个hadoop.dll链接:https://pan.baidu.com/s/1kJBEDPXqOKmV1ZvhEbnB_Q 
提取码:02hs

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

四、配置eclipse的hadoop插件

演示用的eclipse版本是4.14:

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

安装eclipse的hadoop插件,需要下载对应hadoop的eclipse插件版本。这里演示的hadoop版本是2.9.2,所以插件也是匹配的版本。

单个hadoop插件链接:https://pan.baidu.com/s/1cNrQS3tTb3ZsDCb5C3ivlg 
提取码:5y5s 
 

下面是eclipse安装路径:

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

先把eclipse关闭后,再把下载的hadoop-eclipse-plugin-2.9.2.jar放到dropins目录下面。

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

这里要说下eclipse常见安装插件的方式,网上很多方法都说把上面的jar放到plugins文件夹下面,其实eclipse从3.5版本后已经进行了修改,安装插件一般有3个方法:
1、直接用Eclipse在:“帮助”–>“安装软件”选项下安装。
2、link安装,方法是建一个links,里面建一个link文件把插件的路径配过去。
3、dropins安装方法,把需要的插件复制(拖放)到eclipse\dropins文件夹中,然后插件就安装成功了(当然必须先解压)。如要在其他机器上使用自己的插件。也只需要拷贝自己的dropins覆盖掉原有的。

eclipse启动后,可以看到在Project Explorer 多了一个“DFS Locations文件夹”

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

在windows-show view-other 启动hadoop配置窗口

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

选中map/reduce locations 然后点击确定,该窗口就可以显示在IDE底部。

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

底部可以看到如下,点击右边蓝色的大象图标可以新增配置点:

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

在配置点中,我们输入以下参数,配置完后点击“Finsh":

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

然后,再打开:window --> proferences 

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

找到Hadoop Map/Reduce  点击右边的browse 配置本地hadoop的安装路径,配置好后点击apply and close 来确认。

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

五、创建Java程序

5.1创建项目

打开eclipse,这里创建一个java项目,名称自定,

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

在map/reduce 里面选中 map/reduce project  

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

起一个名称,点击next

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

完成后,我们可以看到新建的项目里面多了一个library包,里面包含了hadoop所用到的jar.

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

如果不到如hadoop的jar包,我们会发现,很多问题,如下红色波浪线:

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

首先:选中你自己创建的项目,如下:

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

然后点击File->Properties->

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

然后选中“Java Buile Path->Libraries->ClassPath->Add Library->User Library” 来创建一个自定义的jar包存储位置,然后点击Next

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

然后点击“User Libraries-->New...”在输入框中输入你要创建的Libraries的名称,这里名称自定,同样是要见名知意。我这里是hadoopJar

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

最后点击OK,然后点击应用按钮“Apply and Close”进入到下面的界面。

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

点击add external Jars 来添加jar包的路径。把common下面的所有jar包选中就可以了。

如下common目录下有

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

lib目录下也有

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

souces里面也有

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

所有选完后我们展开hadoopJar可以看到有了很多jar包

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

最后点击下面的“apply and close”

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

这时候我们可以看到,所有导包的语句没有了波浪线。

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

5.3编写代码

注意我这里是要在我的hdfs的根目录下面创建一个java的文件夹。我们看到原来centos的hdfs里面是没有java这个文件夹的。

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

在项目的src文件夹里面创建一个package,

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

在name这里输入名称,名称自定

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

,然后在包里面创建主类,主类名称同样自定。包主要是为了后续给class分类。

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

在主类中编写代码如下,不给你们源码了,好好找找写代码的感觉:

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

也就是规定通过root

保存后运行结果如下,选择“java application”:

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

结果如下:

如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

最后,如果想统一下载所有内容的,可以用这个链接(文件比较大):

链接:https://pan.baidu.com/s/1DIHvbSoWvYRLBaP7qQI9ng
提取码:olgh
如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹

关于如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


当前文章:如何通过JavaAPI读写虚拟机里面的HDFS来创建文件夹
当前链接:http://scyanting.com/article/jgoocc.html