栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Centos7(GUI)下的hadoop与eclipse的连接并运行wordcount实例

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Centos7(GUI)下的hadoop与eclipse的连接并运行wordcount实例

hadoop伪分布式配置hadoop的伪分布环境搭建(hadoop-2.7.5)_qq_45672631的博客-CSDN博客

hadoop分布式配置

hadoop-2.7.5(分布式集群搭建)_qq_45672631的博客-CSDN博客

在确定hadoop配置没有问题的前提下,本次操作是在Centos7GUI版下进行的,eclipse2021.09 linux版,hadoop-eclipse-plugin-2.7.5.jar(插件用来eclipse与hadoop连接的java包),这里涉及到eclipse和插件可以在官网下载(百度搜索了解)。

(11条消息) Eclipse运行WordCount(详细版)_围炉夜敲的博客-CSDN博客_eclipse运行wordcount

wordcount的实例参考上面的博客,下载对应的wordcount.java、log4jproperties、data.txt

通过文件传送工具(Xftp,将对应的eclipse,插件,和wordcount实例,所要用到的文件),传至常用的安装路径下(之前的博客在/usr/local下创建了一个tmp,所以这里将这些所需的传到tmp里)

通过命令ls查看 是否传送成功

也可以通过点击主文件夹->其他位置->计算机,找到对应的路径查看

通过命令

tar -zxf eclipse-java-2021-09-R-lnux-gtk-x86_64.tar.gz

解压后的文件夹名是eclipse就不用改名了,然后通过mv命令移动到/usr/local下

mv eclipse ../

也可以通过点击主文件夹想windows那样右击移动

同理将hadoop-eclipse-plugin-2.7.5,jar移动到/usr/local/eclipse/plugins下

这里如果使用命令查看是看不到,但这主文件夹下可以找到(类似于windows的隐藏文件)

 

 这里移动完成后在linux的桌面上创建一个软连接或快捷方式

(11条消息) Centos7中给eclipse创建桌面快捷方式_qaz18201142158的博客-CSDN博客

这里我创建的是软连接,有兴趣的同志可以去试试创建快捷方式

创建软连接通过命令(桌面版的右击打开控制台,在/usr/bin下)

ln -s /usr/local/eclipse/eclipse /usr/bin/eclipse

在主文件夹的/usr/bin下搜索一下将其移动到桌面

这里如果不想创个连接,点击/usr/local/eclipse/eclipse(eclipse下的eclipse为一个可执行文件双击就能打开)

打开后会叫你选择以后项目的存储目录可以默认,可以自己选择(只要记得就行),等待一下就进去了

进入后会有一个推荐把它点掉后,点击window->Preferences->Hadoop Map/Reduce(如果没有在确定插件已经有的情况下,重启一下eclipse(就是关掉有开启)插件一定要与hadoop的版本对应,否则会有问题)

 点击Browse找到hadoop,bin文件的路径

 点击Apply and Close

 点击window->Show View->Other

 找到MapReduce Tools下的Map/Reduce Locations(打开金色小象)

 在创建连接时先创建一个Map/Reduce Project 的项目(这个版本的eclipse的DFSlocation,需要你先创建一个Map/Reduce Project,后会提示你是否打开Open the Map/Reduce Perspective,选择Open Perspective)

 点击设置logo旁的蓝色大象创建连接

 参数设置(Location name 可以随便设置,Map/Reduce(V2)Master:Host:这里填主机名或者主机ip,如果主机名没有修改过那就是默认的localhost;Port:默认是9001,当然也可以默认50020;DFS Master:如果下面的Use M/R Master host选中,当你在填Map/Reduce(V2)Master时哪里就会跟着你填的一样,而这里的Port和你的hadoop配置的core-site.xml 文件里配置的端口保持一只,这里我配置的端口是9000)User name 则是你是在那个用户下使用的hadoop因为我在root用户配置的所以默认是root用户。 

 参数配置完后

 这时先将hadoop与yarn开启(因为这里用的伪分布式版所有start-all.shj就可以)开启后,如果HDFS中没有文件右击对应文件刷新一下

这时hadoop与eclipse的连接就成功了,出现问题同学别慌可以跳到后面看你的错误是不是这个

开始运行wordcount的实例

右击根目录就蓝色大象下面那个(Create new directory)创建一个文件夹input_1

 这个eclipse是有延迟的可以右击根目录刷新一下(refresh)

 右击input_1(Upload files to DFS(从本地上传文件到DFS),Download from DFS(从DFS中下载文件到本地))这里使用Upload files to DFS将之前传至tmp下的data.txt

 找到tmp路径下data.txt双击data.txt

 刷新一下看input_1是否有data.txt

 

 这时在刚才创建的项目的src创建一个java package(右击src点击New->Package)命名为cn.neu(按照参考博客命名的)

 在Linux中点击主文件夹将word.java 与log4j.properties移动的刚才创建的java包下(其中log4j.properties移动到src下,然后将hadoop/etc/hadoop 里的core-site.xml、hdfs-site.xml复制到Java包下(和wordcount一起))嘿嘿之前的太多了,懒得删这里用的是windows下的eclipse的截的图。

 右击wordcount.java(Run As -> Run confriguations)

 设置wordcount.java的输入输出参数(如果没有出现wordcount双击Java Application读入wordcount)

 注意看(Main class 主类是否属于你自己创建Java包下的)这里创建的是cn.neu

 点击Arguments设置参数(原博客总并不需要hdfs://lcy-1:9000,这个如果不加这个的话代码运行时会从本路路径找输入文件,然后报一个找不到input-1/data.txt 这个文件)点击运行

 刷新一下根目录(可以看到output文件夹里的part-r-00000文件)

 到这里eclipse与hadoop的连接以及wordcount的实例也完成了

最后把博主做这个遇到错误总结如下:

1.这个版本的eclipse可能太新了,网上查找的博客当时并没有说明DFS location 这个问题当时我一直没创建project的项目,就直接连接hadoop然后一直报一个错。

一进来是这个样子是没有DFS location() 

 连接hadoop时报的错(本身英语就不好,翻译了之后,数组长度为空,因为作业为空,直接报个错原博客也没说呀。然后了整了八九个小时,期间我以为是配置文件少了(因为用的是伪分布的)搜到过说点击旁边的蓝色大象,当然不是创建连接的那个是另一个,说会自己弹出来,当时百度的是DFS location 怎么出来,显然牛头不对马嘴,一开始一直以为是创建hadoop连接的端口的问题,所有一开始搜这些端口的配置,五花八门)

 2.解决完hadoop的连接后开始运行实例,因为是第一次都是按照博客操作(可能那个博客比较老)将log4j.properties放在java包下运行代码后会说找不到这个登录日志记录的文件(这里其实用hadoop(hadoop/etc/hadoop下的log4j.properties)里面的也行只不多运行后,控制台显示的是红色的(有兴趣的小伙伴可以试试))

 3.后面就是添加"hdfs://主机名(也可以是ip):9000(端口号)"没有会报一个找不到输入文件

inputpath(输入变量不存在)

 4.还有一是当时有个朋友遇到的,当时他的hadoop路径和我安装的不同我将其移之,导致那个hadoop选择目录当时是点应用的但好像没应用到,然后我们我就报了另外一个错,也是看不懂,后面发现那个hadoop的目录选择有问题。这个我复现不了,是在中间报出的(警告代码没错,error才是有错),这里如果你的输出文件已存在也会在中间报错说你的输出文件已存在

最后,一定要细心很多小细节做不好花的时间会更多,这是使用一个工具,熟能生巧多用多积累,也不是一篇小小的博客能总结完的。

 

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/390107.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号