当前位置: 首页 > news >正文

广州市住房和城乡建设厅网站首页参考消息官网手机网

广州市住房和城乡建设厅网站首页,参考消息官网手机网,雅安公司做网站,wordpress底部版权信息修改转载请注明出处#xff0c;谢谢2017-10-22 17:14:09之前都是用python开发maprduce程序的#xff0c;今天试了在windows下通过eclipse java开发#xff0c;在开发前先搭建开发环境。在此#xff0c;总结这个过程#xff0c;希望能够帮助有需要的朋友。用Hadoop eclipse plu…转载请注明出处谢谢 2017-10-22 17:14:09 之前都是用python开发maprduce程序的今天试了在windows下通过eclipse java开发在开发前先搭建开发环境。在此总结这个过程希望能够帮助有需要的朋友。 用Hadoop eclipse plugin可以浏览管理HDFS自动创建MR程序的模板文件最爽的就是可以直接Run on hadoop。 1、安装插件 下载hadoop-eclipse-plugin-1.2.1.jar并把它放到 F:\eclipse\plugins 目录下。 2、插件配置与使用 2.1指定hadoop的源码目录 2.2、打开Map/Reduce视图 ”Window”-”Open Perspective”-”Other”-“Map/Reduce”. “Window”-”Show views”-”Other”-”Map Reduce Tools”-”Map/Reduce locations”.   正常情况下回出现左上角的HDFS标志等eclipse与hadoop集群连接后会在这显示HDFS目录结构。 2.3、新建Map/Reduce Localtion 点击图中红色框或者鼠标右击选中新建然后出现下面的界面配置hadoop集群的信息。 这里需要注意的是hadoop集群信息的填写。因为我是在windows下用eclipse远程连接hadoop集群【完全分布式】开发的所以这里填写的host是master的IP地址。如果是hadoop伪分布式的可以填写localhost。 【Jser name】填写的windows电脑的用户名右击【我的电脑】--【管理】--【本地用户和组】--【修改用户名字】 完成前面的步骤后正常的eclipse界面应该像下图那样的。注意example1工程是我自己新建的主要是用来验证eclipse能否远程连接hadoop集群来开发mapreduce程序。并且此时在eclipse的HDFS视图界面对HDFS的操作增删查和在命令行上对HDFS操作的结果是一样的。 3、开发mapreduce程序 3.1、新建mapreduce工程 使用插件开发的好处这时显示出来了完成这一个步骤在工程视图会出现一个mapreduce工程模板不用我们自己导入hadoop的jar包。下图红框就是新建mapreduce工程后生成的空模板我们需要做的是在src文件夹中新建包和开发java程序。 3.3、在远程终端中通过命令行方式上传文件hadoop fs -put test.txt /input/  或者 通过eclipse 的HDFS视图上传input文件 /input/test.txt内容如下 liang ni hao ma wo hen hao ha qwe asasa xcxc vbv xxxx aaa eee 3.2、WordCount.java程序 package com.hadoop.example1; import java.io.IOException; import java.util.Iterator; import java.util.StringTokenizer; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapred.FileInputFormat; import org.apache.hadoop.mapred.FileOutputFormat; import org.apache.hadoop.mapred.JobClient; import org.apache.hadoop.mapred.JobConf; import org.apache.hadoop.mapred.MapReduceBase; import org.apache.hadoop.mapred.Mapper; import org.apache.hadoop.mapred.OutputCollector; import org.apache.hadoop.mapred.Reducer; import org.apache.hadoop.mapred.Reporter; import org.apache.hadoop.mapred.TextInputFormat; import org.apache.hadoop.mapred.TextOutputFormat; public class WordCount {public static class Map extends MapReduceBase implementsMapperLongWritable, Text, Text, IntWritable {private final static IntWritable one new IntWritable(1);private Text word new Text();public void map(LongWritable key, Text value,OutputCollectorText, IntWritable output, Reporter reporter)throws IOException {String line value.toString();StringTokenizer tokenizer new StringTokenizer(line);while (tokenizer.hasMoreTokens()) {word.set(tokenizer.nextToken());output.collect(word, one);}}}public static class Reduce extends MapReduceBase implementsReducerText, IntWritable, Text, IntWritable {public void reduce(Text key, IteratorIntWritable values,OutputCollectorText, IntWritable output, Reporter reporter)throws IOException {int sum 0;while (values.hasNext()) {sum values.next().get();}output.collect(key, new IntWritable(sum));}}public static void main(String[] args) throws Exception {JobConf conf new JobConf(WordCount.class);conf.setJobName(wordcount);conf.setOutputKeyClass(Text.class);conf.setOutputValueClass(IntWritable.class);conf.setMapperClass(Map.class);conf.setCombinerClass(Reduce.class);conf.setReducerClass(Reduce.class);conf.setInputFormat(TextInputFormat.class);conf.setOutputFormat(TextOutputFormat.class);FileInputFormat.setInputPaths(conf, new Path(args[0]));FileOutputFormat.setOutputPath(conf, new Path(args[1]));JobClient.runJob(conf);} }   3.3、运行examplse1工程 注意的这种开发方式运行采用的是run on haoop 运行方法【右击工程】--【Run as】--【run on hadoop】 。在这里如果跳出一个界面让你选择证明现在工程选用的Java Applicaltion不对。这时可以这样做【右击工程】--【Run as】--【run on configrations】。并填写传的参数是输入文件路径和输出目录路径。 在Linux eclipse上开发以上步骤都成功的话程序会正常运行。但是在windows eclipse 下开发会以下错误。因为在hadoop源码中会检查windows文件权限因此我们要修改hadoop源码。 14/05/29 13:49:16 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 14/05/29 13:49:16 ERROR security.UserGroupInformation: PriviledgedActionException as:ISCAS cause:java.io.IOException: Failed to set permissions of path: \tmp\hadoop-ISCAS\mapred\staging\ISCAS1655603947\.staging to 0700 Exception in thread main java.io.IOException: Failed to set permissions of path: \tmp\hadoop-ISCAS\mapred\staging\ISCAS1655603947\.staging to 0700 at org.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:691) at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:664) at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:514) at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:349) at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:193) at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:126) at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:942) at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:936) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Unknown Source) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190) at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:936) at org.apache.hadoop.mapreduce.Job.submit(Job.java:550) at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:580) at org.apache.hadoop.examples.WordCount.main(WordCount.java:82) 3.4、修改hadoop源码以支持windows下eclipse开发mapreduce程序。 出现问题的代码位于 【hadoop-1.2.1\src\core\org\apache\hadoop\fs\FileUtil.java】。 修改方式如下注释掉对文件权限的判断。 private static void checkReturnValue(boolean rv, File p, FsPermission permission) throws IOException {/*** comment the following, disable this functionif (!rv){throw new IOException(Failed to set permissions of path: p to String.format(%04o, permission.toShort()));}*/ } 然后将修改好的文件重新编译并将.class文件打包到hadoop-core-1.2.1.jar中并重新刷新工程。这里为了方便大家我提供已经修改后的jar文件包如果需要可以点击下载并替换掉原有的hadoop-1.2.1中的jar包位于hadoop-1.2.1根目录。 再次3,3步骤的操作这时运行成功了。 3.5查看结果 在HDFS视图刷新后可以看到生成output_wordcount文件夹进入此目录可以看见生成的part-00000其结果为   转载于:https://www.cnblogs.com/liangjf/p/7710789.html
http://www.zqtcl.cn/news/718938/

相关文章:

  • 帝国+只做网站地图厦门app定制公司
  • 网站运营推广主要做什么的高匿代理ip
  • 网站建设与维护采访稿wordpress 图床加速
  • 建设国际互联网网站完整网站开发教程
  • 一个购物交易网站怎么做网站管理功能图
  • 做有后台的网站如何提交网站地图
  • 网站建设税率多少潍坊市住房和城乡建设局网站
  • 网站图片怎么做白色背景青岛公司做网站的价格
  • 网站seo工具wordpress放视频没画面
  • 自己做个网站要多少钱o2o商城网站系统开发
  • 百度网站优化哪家好长沙抖音推广代运营公司
  • 做网站的软件worddede 后门暴网站
  • 极简风格 网站上市公司seo是什么意思
  • 商城手机网站设计网架公司十大排名
  • 在建设主题网站时邯郸房产信息网恋家网
  • 保山做网站建设做网站zwnet
  • 南阳做网站推广自助个人免费网站
  • 企业做网站怎么做高校档案室网站建设
  • 辽宁省建设厅网站升级期货交易软件定制开发
  • 网站建设公司工资设置mufen wordpress
  • 资阳网站网站建设月夜直播免费完整版
  • 自己的网站打不开了网站建设维护成本
  • 最便宜做网站c2c网站建站的标准
  • 家里电脑做网站服务器下载中国移动商旅100最新版本
  • 深圳建站公司开发费用做网站网页的工作怎么样
  • 网站工程师平均工资网站开发合同里的坑
  • 南通公司建站模板品牌网站建设小蝌蚪
  • 网站备案号 有效期微信小程序开发视频完整教程
  • 给公司做网站需要什么信息html制作百度登录页面
  • 济南市建设执业资格注册中心网站小程序源码模板下载