java程序怎么向远程的hadoop提交mapreduce任务呢

二号铺 发布于 2015/05/22 07:19
阅读 5K+
收藏 0

在网上查了很多资料,都没有说的很清楚的。

我知道在namenode上通过命令 hadoop jar 的方式来提交mapreduce任务,但是在正真程序执行的时候不会是用手工去执行hadoop命令吧!

最近查了很多资料,竟然没有这方面的资料,我就想知道正真项目中是怎么允许一个mapreduce的。

加载中
0
map150
map150
对hadoop了解不太多,猜想吧,把要执行的文件传到namenode上,然后用ssh来执行hadoop jar。为了以后方便一点,应该可以自己写个脚本吧(虽然我不会写)
0
huan
huan

hadoop2 支持 远程提交的,网上搜索有很多资料,不知道你是怎么搜的。随便找了几个链接:

 http://blog.csdn.net/mercedesqq/article/details/16885115

http://sgq0085.iteye.com/blog/1879442

http://www.xuehuile.com/blog/a5483a3f5e8440318db2e4a2092a1634.html

我们实际应用在windows环境下提交MR的jar包执行有问题,是hadoop(2.3)的bug, 需要打补丁,linux环境下没有任何问题。

0
g
ggjucheng

1.把服务器的hadoop配置拷贝下到本地,记得配置hosts指向namenode和resourcemanager(也许是jobtracker),本地执行hadoop jar 的方式来提交mapreduce任务

2.在命令行指定,-fs hdfs:://namenode -jt  jobtracker之类的命令行。


推荐用第一种方法。

0
b
bybandzk

可以通过很多方式运行Job,比如shell脚本等

如果是定期任务可以做一个schedule,定期调用shell

比如aws上采用datapipeline来自定义运行Job的方式。

返回顶部
顶部