基于Hadoop 220的eclipse开发环境搭建.docx
- 文档编号:7971663
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:28
- 大小:1.51MB
基于Hadoop 220的eclipse开发环境搭建.docx
《基于Hadoop 220的eclipse开发环境搭建.docx》由会员分享,可在线阅读,更多相关《基于Hadoop 220的eclipse开发环境搭建.docx(28页珍藏版)》请在冰豆网上搜索。
基于基于Hadoop220的的eclipse开发环境搭建开发环境搭建云计算小组文档基于Hadoop2.2.0的eclipse开发环境搭建2014A0224基于Hadoop2.2.0的eclipse开发环境搭建说明手册云计算小组陕西省天地网技术重点实验室西安交通大学编写人:
XXXXXX审阅人:
文档创建时间:
2014年02月24日最后更新时间:
2014年02月24日目录基于Hadoop2.2.0的eclipse开发环境搭建说明手册1目录11前言21.1版本修订22系统需求32.1系统硬件32.2系统软件32.3系统环境33安装与配置43.1准备工作43.1.1安装ant43.1.2安装eclipse43.2安装Hadoopforeclipse插件53.3Eclipse上运行WordCount程序103.3.1创建MapReduce项目103.3.2创建WordCount123.3.3运行WordCount程序153.3.4查看WordCount运行结果163.3.5Eclipse控制台无法输出信息的解决方案173.3.6Eclipse下mapreduce作业无法上传云端解决方案213.4在终端上运行WordCount程序243.4.1准备工作243.4.2运行WordCount程序24前言本文是Hadoop2.2.0的eclipse开发环境搭建的说明手册。
包括Hadoop2.2.0版本在单个计算节点下eclipse的安装,Hadoop插件的导入以及WordCount示例程序的运行,主要用于测试开发目的。
版本修订2014.02.24:
初次编写。
2014.02.25:
增加了log4j问题和mapreduce作业上传到云端的解决方法,另增加了在终端上运行WordCount程序的实现方法。
1系统需求一下说明Hadoop2.2.0安装的基本需求。
系统硬件Intelx86_64服务器。
系统软件建议采用Ubuntu12.04.3LTSServerx64版本或者其他长期支持版本。
另外,Hadoop建议使用最新的Hadoop2.2.0版本,本文的安装说明基于该版本。
Hadoop的安装可以参照hadoop2.2.0单节点安装一文。
建议采用jdk-7u45-linux-x64,它与Hadoop2.2.0的相容性较好,本文默认用户已经安装了该JDK。
系统环境建议在安装前,将系统升级到最新:
$sudoapt-getupdate$sudoapt-getupgrade2安装与配置在搭建Hadoop2.2.0的eclipse开发环境前,需要安装一些必要的组件。
准备工作安装ant从Apache官方可以下载到ant1.9.3,或者在symnds下载:
http:
/下载后解压,执行:
$tarzxvfapache-ant-1.9.3-bin.tar.gz$mvapache-ant-1.9.3/opt则MAVEN_HOME地址可以如下配置,在/etc/profile中修改:
$sudovim/etc/profile在末尾加入:
exportANT_HOME=/opt/apache-ant-1.9.3exportPATH=$ANT_HOME/bin:
$PATH生效:
$source/etc/profile测试:
$ant-version2.1.1安装安装eclipse下载eclipse:
从官网http:
/www.eclipse.org/downloads/下载EclipseIDEforJavaEEDevelopers的Linux64Bit版本eclipse-jee-kepler-SR1-linux-gtk-x86_64.tar.gz下载后解压,执行:
$tarzxvfeclipse-jee-kepler-R-linux-gtk-x86_64.tar.gz$mveclipse/opt启动eclipse:
$cd/opt/eclipse$./eclipse创建桌面快捷方式:
$sudovim/usr/share/applications/eclipse.desktop写入以下内容:
DesktopEntryName=EclipseComment=EclipseSDKEncoding=UTF-8Exec=/opt/eclipse/eclipseIcon=/opt/eclipse/icon.xpmTerminal=falseType=ApplicationCategories=Application;Development;安装Hadoopforeclipse插件第一步:
从XX网盘http:
/下载下载插件hadoop-eclipse-plugin-2.2.0.jar复制插件到eclipse安装目录的plugins下,重启ecclipse即可生效:
$cphadoop-eclipse-plugin-2.2.0.jar/opt/eclipse/plugins重启eclipse,如下图:
细心的你从上图中左侧ProjectExplorer下面发现DFSLocations,说明Eclipse已经识别刚才放入的HadoopEclipse插件了。
第二步:
选择Window菜单下的Preference,然后弹出一个窗体,在窗体的左侧,有一列选项,里面会多出HadoopMap/Reduce选项,点击此选项,选择Hadoop的安装目录(如我的Hadoop目录:
/opt/hadoop-2.2.0)。
结果如下图:
第三步:
切换Map/Reduce工作目录,有两种方法:
1)选择Window菜单下选择OpenPerspective,弹出一个窗体,从中选择Map/Reduce选项即可进行切换。
2)在Eclipse软件的右上角,点击图标中的,点击Other选项,也可以弹出上图,从中选择Map/Reduce,然后点击OK即可确定。
切换到Map/Reduce工作目录下的界面如下图所示。
第四步:
建立与Hadoop集群的连接,在Eclipse软件下面的Map/ReduceLocations进行右击,弹出一个选项,选择NewHadoopLocation,然后弹出一个窗体。
注意上图中的红色标注的地方,是需要我们关注的地方。
1、LocationName:
可以任意起,标识一个Map/ReduceLocation2、Map/ReduceMasterHost:
happy(Master.Happy的IP地址,也可以填202.117.16.199)Port:
90013、DFSMasterUseM/RMasterhost:
前面的勾上(因为我们的NameNode和JobTracker都在一个机器上)Port:
90004、Username:
happy(默认为liunx系统管理员名字)接着点击Advancedparameters从中找见hadoop.tmp.dir,修改成为我们Hadoop集群中设置的地址,我们的Hadoop集群是/hadoop/tmp,这个参数在core-site.xml进行了配置。
点击finish之后,会发现Eclipse软件下面的Map/ReduceLocations出现一条信息,就是我们刚才建立的Map/ReduceLocation。
第五步:
查看HDFS文件系统,并尝试建立文件夹和上传文件。
点击Eclipse软件左侧的DFSLocations下面的Win8ToHadoop,就会展示出HDFS上的文件结构。
到此为止,我们的HadoopEclipse开发环境已经配置完毕Eclipse上运行WordCount程序2.1.2创建创建MapReduce项目项目从File菜单,选择Other,找到Map/ReduceProject,然后选择它。
接着,填写MapReduce工程的名字为WordCountProject,点击finish完成。
目前为止我们已经成功创建了MapReduce项目,我们发现在Eclipse软件的左侧多了我们的刚才建立的项目。
2.1.3创建创建WordCount选择WordCountProject工程,右击弹出菜单,然后选择New,接着选择Class,然后填写如下信息:
因为我们直接用Hadoop2.2.0自带的WordCount程序,所以报名需要和代码中的一致为org.apache.hadoop.examples,类名也必须一致为WordCount。
将/opt/hadoop/share/hadoop/mapreduce下的hadoop-mapreduce-examples-2.2.0.jar解压,在/opt/hadoop/share/hadoop/mapreduce/sources/org/apache/hadoop/examples下找到”WordCount.java”文件,用记事本打开,然后把vim打开,然后把代码复制到刚才建立的java文件中。
1packageorg.apache.hadoop.examples;2importjava.io.IOException;3importjava.util.StringTokenizer;4importorg.apache.hadoop.conf.Configuration;5importorg.apache.hadoop.fs.Path;6importorg.apache.hadoop.io.IntWritable;7importorg.apache.hadoop.io.Text;8importorg.apache.hadoop.mapreduce.Job;9importorg.apache.hadoop.mapreduce.Mapper;10importorg.apache.hadoop.mapreduce.Reducer;11importorg.apache.hadoop.mapreduce.lib.input.FileInputFormat;12importorg.apache.hadoop.mapreduce.lib.output.FileOutputFormat;13importorg.apache.hadoop.util.GenericOptionsParser;1415publicclassWordCount1617publicstaticclassTokenizerMapper18extendsMapper1920privatefinalstaticIntWritableone=newIntWritable
(1);21privateTextword=newText();2223publicvoidmap(Objectkey,Textvalue,Contextcontext24)throwsIOException,InterruptedException25StringTokenizeritr=newStringTokenizer(value.toString();26while(itr.hasMoreTokens()27word.set(itr.nextToken();28context.write(word,one);2930313233publicstaticclassIntSumReducer34extendsReducer35privateIntWritableresult=newIntWritable();3637publicvoidreduce(Textkey,Iterablevalues,38Contextcontext39)throwsIOException,InterruptedException40intsum=0;41for(IntWritableval:
values)42sum+=val.get();4344result.set(sum);45context.write(key,result);46474849publicstaticvoidmain(Stringargs)throwsException50Configurationconf=newConfiguration();51StringotherArgs=newGenericOptionsParser(conf,args).getRemainingArgs();52if(otherArgs.length!
=2)53System.err.println(Usage:
wordcount);54System.exit
(2);5556Jobjob=newJob(conf,wordcount);57job.setJarByClass(WordCount.class);58job.setMapperClass(TokenizerMapper.class);59job.setCombinerClass(IntSumReducer.class);60job.setReducerClass(IntSumReducer.class);61job.setOutputKeyClass(Text.class);62job.setOutputValueClass(IntWritable.class);63FileInputFormat.addInputPath(job,newPath(otherArgs0);64FileOutputFormat.setOutputPath(job,newPath(otherArgs1);65System.exit(job.waitForCompletion(true)?
0:
1);66672.1.4运行运行WordCount程序程序选择Wordcount.java程序,右击一次按照RunASRunConfiguration配置。
然后会弹出如下图,按照下图进行操作。
选择Wordcount.java程序,右击一次按照RunASRunonHadoop,运行结果如下:
注意:
要确保HDFS中不存在output目录,否则会抛出异常。
2.1.5查看查看WordCount运行结果运行结果查看Eclipse软件左侧,右击DFSLocationsWin8ToHadoop文件夹,点击刷新按钮Refresh,我们刚才出现的文件夹output会出现。
记得output文件夹是运行程序时自动创建的,如果已经存在相同的的文件夹,要么程序换个新的输出文件夹,要么删除HDFS上的那个重名文件夹,不然会出错。
打开newoutput文件夹,打开part-r-00000文件,可以看见执行后的结果。
2.1.6Eclipse控制台无法输出信息的解决方案控制台无法输出信息的解决方案从115网盘http:
/礼包码:
5lbcqltwwdw1下载log4j.properties拷贝到WordCountProject的src目录下。
删除output文件夹,选择Wordcount.java程序,右击一次按照RunASRunonHadoop,重新运行结果如下:
2014-02-2510:
04:
21,048WARNorg.apache.hadoop.util.NativeCodeLoader-Unabletoloadnative-hadooplibraryforyourplatform.usingbuiltin-javaclasseswhereapplicable2014-02-2510:
04:
21,895INFOorg.apache.hadoop.conf.Configuration.deprecation-session.idisdeprecated.Instead,usedfs.metrics.session-id2014-02-2510:
04:
21,896INFOorg.apache.hadoop.metrics.jvm.JvmMetrics-InitializingJVMMetricswithprocessName=JobTracker,sessionId=2014-02-2510:
04:
22,189WARNorg.apache.hadoop.mapreduce.JobSubmitter-Nojobjarfileset.Userclassesmaynotbefound.SeeJoborJob#setJar(String).2014-02-2510:
04:
22,250INFOorg.apache.hadoop.mapreduce.lib.input.FileInputFormat-Totalinputpathstoprocess:
22014-02-2510:
04:
22,347INFOorg.apache.hadoop.mapreduce.JobSubmitter-numberofsplits:
22014-02-2510:
04:
22,361INFOorg.apache.hadoop.conf.Configuration.deprecation-user.nameisdeprecated.Instead,usemapreduce.job.user.name2014-02-2510:
04:
22,364INFOorg.apache.hadoop.conf.Configuration.deprecation-mapred.output.value.classisdeprecated.Instead,usemapreduce.job.output.value.class2014-02-2510:
04:
22,365INFOorg.apache.hadoop.conf.Configuration.deprecation-bine.classisdeprecated.Instead,usebine.class2014-02-2510:
04:
22,365INFOorg.apache.hadoop.conf.Configuration.deprecation-mapreduce.map.classisdeprecated.Instead,usemapreduce.job.map.class2014-02-2510:
04:
22,365INFOorg.apache.hadoop.conf.Configuration.deprecation-mapred.job.nameisdeprecated.Instead,usemapreduce.job.name2014-02-2510:
04:
22,365INFOorg.apache.hadoop.conf.Configuration.deprecation-mapreduce.reduce.classisdeprecated.Instead,usemapreduce.job.reduce.class2014-02-2510:
04:
22,365INFOorg.apache.hadoop.conf.Configuration.deprecation-mapred.input.dirisdeprecated.Instead,usemapreduce.input.fileinputformat.inputdir2014-02-2510:
04:
22,365INFOorg.apache.hadoop.conf.Configuration.deprecation-mapred.output.dirisdeprecated.Instead,usemapreduce.output.fileoutputformat.outputdir2014-02-2510:
04:
22,366INFOorg.apache.hadoop.conf.Configuration.deprecation-mapred.map.tasksisdeprecated.Instead,usemapreduce.job.maps2014-02-2510:
04:
22,366INFOorg.apache.hadoop.conf.Configuration.deprecation-mapred.output.key.classisdeprecated.Instead,usemapreduce.job.output.key.class2014-02-2510:
04:
22,368INFOorg.apache.hadoop.conf.Configuration.deprecation-mapred.working.dirisdeprecated.Instead,usemapreduce.job.working.dir2014-02-2510:
04:
22,646INFOorg.apache.hadoop.mapreduce.JobSubmitter-Submittingtokensforjob:
job_local1572888905_00012014-02-2510:
04:
22,851WARNorg.apache.hadoop.conf.Configuration-file:
/tmp/hadoop-happy/mapred/staging/happy1572888905/.staging/job_local1572888905_0001/job.xml:
anattempttooverridefinalparameter:
mapreduce.job.end-notification.max.retry.interval;Ignoring.2014-02-2510:
04:
22,851WARNorg.apache.hadoop.conf.Configuration-file:
/tmp/hadoop-happy/mapred/staging/happy1572888905/.staging/job_local1572888905_0001/job.xml:
anattempttooverridefinalparameter:
mapreduce.job.end-notification.max.attempts;Ignoring.2014-02-2510:
04:
23,276WARNorg.apache.hadoop.conf.Configuration-file:
/tmp/hadoop-happy/mapred/local/localRunner/happy/job_local1572888905_0001/job_local1572888905_0001.xml:
anattempttooverridefinalparameter:
mapreduce.job.end-notification.max.retry.interval;Ignoring.2014-02-2510:
04:
23,2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Hadoop 220的eclipse开发环境搭建 基于 Hadoop 220 eclipse 开发 环境 搭建