点击上方“蓝字”,关注我们.

第一种:原生态运行jar包
1,利用eclipse编写Map-Reduce方法,一般引入Hadoop-core-1.1.2.jar。注意这里eclipse里没有安装hadoop的插件,只是引入其匝包,该eclipse可以安装在windows或者linux中,如果是在windows中安装的,且在其虚拟机安装的linux,可以通过共享文件夹来实现传递。
2,编写要测试的数据,如命名为tempdata
3,利用eclipse的export来打包已编写好的,在利用eclipse打包jar的时候,只需要选择src即可,一般只打包程序文件,并且需要选择main class,将该jar放到如/home/hadoop/docum/Test.jar
4,将要分析的数据传到hdfs上
hadoop fs -put /home/hadoop/myhadoopdata/tempdata  ./testdata/
5,开始执行jar
hadoop jar /home/hadoop/Docum/Test.jar  /user/hadoop/temperatur output
这是一种利用jar来运行的。
这里Test.jar在本地,jar没必要上传到hdfs上
参数依次为
本地mapred程序,hdfs的测试数据即输入文件,输出文件夹。
hadoop jar /home/hadoop/Temperature.jar inputpath outputpath
注意:这里可以不需要指定类的名称,而输出的文件夹outputpath不能事先已经存在。

第二种:伪分布式下运行WordCount
1,拷贝源代码
cp /usr/local/hadoop1.1.2/src/examples/org/apache/hadoop/examples/WordCount.java  ~/ygch/hadoop/
2,编译源代码,放到指定的文件夹如这里的class下
javac 
-classpath /usr/local/hadoop1.1.2/hadoop-core1.1.2.jar:
/usr/local/hadoop1.1.2/lib/commons-cli-1.2.jarWordCount.java  -d class,
利用-classpath选项指定WordCount需要的jar包。hadoop目录下存放jar包的位置有两个:根目录和/lib目录。然后我们可以通过jar tvf  *.jar查看jar包内容,进而可以知道WordCount需要的是哪几个jar包。
-d选项指定生成的类文件的位置,在编译的时候这个选项必须重新指定,不能让class文件生成在当前目录下。
3,将class文件打包成一个jar包:
jar cvf WordCount.jar -C classes/  .
注意不要忘记最后有一个点.,这个点点必须和前面要有空格,否则jar命令报错。该点指示jar命令的文件列表,表示指定目录下的所有文件。
4,生成input文件:
由于运行hadoop时指定的输入文件只能是HDFS文件系统中的文件,所以我们必须将要进行wordcount的文件从本地文件系统拷贝到HDFS文件系统中。
hadoop fs -mkdir input
hadoop fs -put testfile input
5. 运行jar包:
hadoop jar WordCount.jar org.apache.hadoop.examples.WordCount input output
在运行命令中由于WordCount.java中包括package信息,所以我们在指定类时要包含package的完整信息。
6. 查看结果
在hadoop程序运行完后,结果会放在output目录下,该目录是自动生成的。查看命令为:
hadoop fs -cat output/part-r-00000
使用-cat或者-text都行

第三种Hadoop直接执行Class文件
可以事先在eclipse中编译好class,然后直接利用hadoop来执行该class文件
在Hadoop集群中运行作业的时候,必须要将程序打包为jar文件。
在Hadoop本地和伪分布中可以运行jar文件,也可以直接运行class文件,注意直接运行class文件,必须是没有map和reducer的,直接获取FileSystem来进行操作。
如果类有包名,拷贝的时候也要将其包名拷贝,然后
hadoopwhut/structfile/SequenceFileWriteDemo numbers.seq

利用Hadoop命令和Java命令都可以执行class文件,前者可以将Hadoop库文件路径加入到类路径中来,同时也能获取Hadoop的配置文件。
一般都需要提前设置一个HADOOP_CLASSPATH环境变量用于添加应用程序类的路径,注意这里的路径是用户本地的文件路径,不是hdfs中的路径。

具体的如下:
export  HADOOP_CLASSPATH=/home/hadoop/hadoopclass
hadoop FileSystemCat hdfs://localhost:9000/user/hadoop/inputdata/iodata.txt
也可以直接在IDE中将hadoop的jar加入classpath中,然后直接run

第四种 Hadoop与eclipse环境的搭建
hadoop jar 运行的实质是:
1.利用hadoop这个脚本启动一个jvm进程;
2.jvm进程去运行org.apache.hadoop.util.RunJar这个java类;
3.org.apache.hadoop.util.RunJar解压Temperature.jar
到hadoop.tmp.dir/hadoop-unjar*/目录下;
4.org.apache.hadoop.util.RunJar动态的加载并运行MainClass或参数中指定的Class;
5.MainClass或参数中指定的Class中设定Job的各项属性
6.提交job到JobTracker上并监视运行情况

执行hadoop jar的时候,jar不需要放到hdfs中,一般hadoop是到本地中寻找jar的,如果用户此时在jar目录下,可以直接写jar名。

对于输入文件夹和输出文件夹也不需要写上hadoop的内置路径名,默认是在/user/hadoop/这个目录下的,hadoop命令后可以不用加根路径。

更多请关注小编继续了解,免费赠送网页设计作业源代码哦!

如需要精品网页设计作业和毕业设计作品

联系QQ:2656895362进行咨询

网站地址:http://www.85work.com/扫码关注最新动态更多精彩,点击下方“

hadoop jar包_计算机毕业设计中hadoop上运行Java程序相关推荐

  1. ultraedit运行java_如何在UltraEdit中编译和运行Java程序

    如何在UltraEdit中编译和运行Java程序 (2011-07-28 12:33:52) 标签: it 问题提出: 可以毫不夸张地说,JDK+UltraEdit是面向Java初学者的开发工具的绝配 ...

  2. java 删除桌面快捷方式_能否在桌面创建快捷方式运行java程序?

    能否在桌面创建快捷方式运行java程序? 来源:互联网  宽屏版  评论 2009-05-07 07:51:17 分类: 电脑/网络 >> 程序设计 >> 其他编程语言 问题描 ...

  3. ultraedit编译java_在UltraEdit中编译和运行Java程序

    一.首先打开UltraEdit, 点击菜单上的 高级->工具配置,如图: 1 点击插入: 2 在菜单项名称写上该功能,"编译java ": 3 创建一个批处理的文件compi ...

  4. hadoop jar包_快速搭建Hadoop-Hive-Zoopkeeper-Sqoop环境进入Sqoop学习环境

    CDH简单了解 CDH: C:cloudera(公司) D:distribute H:Hadoop 解决了大数据Hadoop 2.x生态系统中各个框架的版本兼容问题,不用自己编译, CDH适合商用,版 ...

  5. hadoop jar包_【大数据学习】Hadoop的MR分布式开发小实战

    前提:hadoop集群应部署完毕. 一.实战科目 做一个Map Reduce分布式开发,开发内容为统计文件中的单词出现次数. 二.战前准备 1.本人在本地创建了一个用于执行MR的的文件,文件中有209 ...

  6. cmd编译java命令_使用CMD命令编译和运行Java程序

    对于初学者来说,使用CMD命令(Unix以及类Unix系统采用Termial)来编译和运行Java的好处是让初学者直观地体会到编译(Compile)这一步骤,加深记忆.所谓编译就是将文本文件xxx.j ...

  7. ssm框架中前台html如何接受后台的数据_计算机毕业设计中实现java后台的微信小程序...

    点击上方"蓝字",关注我们. 毕业设计做微信小程序+java后台.从对微信小程序一无所知到完成毕设,碰到许多问题,在跟大家分享一下自己的经历和一个小程序怎么从零开始.希望小程序初学 ...

  8. ajax 微信code获取_计算机毕业设计中微信小程序实现微信登录(Java后台)

    点击上方"蓝字",关注我们. 需要的材料 1:一个可以测试的微信小程序 2:此微信小程序的APPID和APPscret 流程 微信用户对应一个小程序都有一个唯一的openid,微信 ...

  9. 页面中color颜色值_计算机毕业设计中实现一个简易美观的登录界面

    点击上方"蓝字",关注我们. 实现一个登录界面,展示一下效果: 然后我们看一下代码: 在我们做一个页面之前,要先想好他的一个整体布局,也就是我们这里面的login.html主页面, ...

最新文章

  1. charapter 1
  2. poj1061-青蛙的约会(拓展欧几里得java)
  3. PyCaret:又一个神仙ML库
  4. GridView合并列下的行单元格的方法
  5. 阿里二面:你来设计一下 Flink 性能调优?
  6. XSS:RPO(Relative Path Overwrite)攻击
  7. 一段简单的JavaScript代码,实现在同一网页输出多个图标的功能
  8. 计算机自适应测试的应用 托福,计算机自适应测试系统的研究和应用.pdf
  9. insert事务隔离mysql_MySQL数据库详解(三)MySQL的事务隔离剖析
  10. 学前端编程还没有做过项目?30个入门练手项目,你get了么?
  11. error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
  12. LINUX更改图标后生效
  13. Navicat for MySQ中文破解版(无需激活码)
  14. 任玉刚——百度资深工程师学习之路
  15. 【短视频运营】抖音推送机制 | 账号 “ 完播率 “ 数据
  16. 仪器采集信号后用matlab分析,基于MATLAB的语音信号采集和分析系统的可视化设计...
  17. 小米笔记本安装原生win7
  18. log4j2配置详解及自定义Appender
  19. g++ warn_unused_result
  20. [UNR #6]机器人表演

热门文章

  1. 安装scrapy框架报错是常见问题
  2. 【POJ】3255 Roadblocks(次短路+spfa)
  3. 我的欧拉工程之路_3
  4. 魔兽争霸III 1.20, 1.21 1.22 需要特定语言版本之Window 解决办法
  5. OJ1062: 最大公约数(C语言)
  6. java中的字符串_Java中的字符串
  7. 信息学奥赛一本通 1148:连续出现的字符 | OpenJudge NOI 1.9 11
  8. 收集瓶盖赢大奖(信息学奥赛一本通-T1045)
  9. 全国青少年信息学奥林匹克联赛
  10. 34 CO配置-控制-产品成本控制-成本对象控制-期末结算-检查差异变式