分享

hadoop中如何将编译好的class分发到集群中的一台机器去执行,没有mapreduce,class...

Mr.k 发表于 2016-11-28 17:32:06 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 7 7841
请问各位大神
hadoop中如何将编译好的class分发到集群中的一台机器去执行,没有mapreduce,class可以吗?
比方说我自己代码中动态编译生成class,然后在去调用class的方法,我想把这个类方法hadoop上,然后分发到集群中运行,可以吗?没有mapreduce类

已有(7)人评论

跳转到指定楼层
nextuser 发表于 2016-11-28 18:01:41
分发去执行??
可以,不过hadoop跑的是mapreduce,如果不使用mapreduce,那么楼主实现的是什么功能。
当然你可以手工操作一台去复制,或则通过shell。

回复

使用道具 举报

Mr.k 发表于 2016-11-29 09:35:08
nextuser 发表于 2016-11-28 18:01
分发去执行??
可以,不过hadoop跑的是mapreduce,如果不使用mapreduce,那么楼主实现的是什么功能。
当 ...

非mapreduce程序是不是不能执行呢?我看书上也是说将map,reduce作业放到队列,然后分发到taskTracker上执行,但是有人说要做这么一个活,比如说,
用一个主程序去生成一个class文件,当然class中有一些方法,然后去invoke其中的方法去执行,就是想把这些class分发到集群中,然后再去调用,我也觉得奇葩

回复

使用道具 举报

qcbb001 发表于 2016-11-29 10:02:04
本帖最后由 qcbb001 于 2016-11-29 10:04 编辑
Mr.k 发表于 2016-11-29 09:35
非mapreduce程序是不是不能执行呢?我看书上也是说将map,reduce作业放到队列,然后分发到taskTracker上执 ...

不用这么麻烦的。
要么楼主自己打一个运行包,把用到的内容都放到包内
可参考
hadoop编程:解决eclipse能运行,打包放到集群上ClassNotFoundException:经验总结

http://www.aboutyun.com/thread-7086-1-1.html



如果每个集群都用到,可以放到hadoop lib中,或则每台机器配置下环境变量。
回复

使用道具 举报

Mr.k 发表于 2016-11-29 10:37:57
是这样的需求是这样的,要做一件事情,需要有个程序动态编译代码打包成jar(里面可能有很多class文件(动态生成的)),然后要将这个jar放到集群中,在map中使用jar去做一些日志解析什么的事情,
回复

使用道具 举报

starrycheng 发表于 2016-11-29 15:23:29
Mr.k 发表于 2016-11-29 10:37
是这样的需求是这样的,要做一件事情,需要有个程序动态编译代码打包成jar(里面可能有很多class文件(动态 ...

这跟jdk一样的道理。jdk是事先放好的已有的class文件。对于你自己则是自己定义的而已。所以可以事先配置好

回复

使用道具 举报

Mr.k 发表于 2016-11-29 17:38:15
starrycheng 发表于 2016-11-29 15:23
这跟jdk一样的道理。jdk是事先放好的已有的class文件。对于你自己则是自己定义的而已。所以可以事先配置 ...

能不能给个具体点的思路呢,底层这些不是很了解

回复

使用道具 举报

nextuser 发表于 2016-11-30 14:46:15
本帖最后由 nextuser 于 2016-11-30 14:47 编辑
Mr.k 发表于 2016-11-29 17:38
能不能给个具体点的思路呢,底层这些不是很了解

其实我们就是引用第三方包。比如你引用mysql的驱动下面举例
使用java访问mysql数据库,我把驱动包mysql-connecter-java5.0.jar放在了“F:\Java\lib”目录下,然后修改了classpath:“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\lib\servlet-api.jar;F:\Java\lib\mysql-connecter-java5.0.jar...

用的是tomcat,mysql-connecter-java5.0.jar是放在Apache Software Foundation\Tomcat 6.0\lib下,

上面想表达的意思是说,把你的包放到集群客户端相应的路径,然后配置下classpath
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条