`
dengyin2000
  • 浏览: 1210261 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JPPF(Java Parallel Processing Framework )尝鲜

阅读更多
前几天在javaeye的news频道看到这个新闻JPPF 1.7发布:网格并行处理框架,因为公司也在使用hadoop做些东西(其中也遇到一些问题,感觉文档太少)。所以想看看这个东西跟hadoop的区别。

http://sourceforge.net/project/showfiles.php?group_id=135654&package_id=149022下载jppf-driver-bin-1.7-0599-20081217.zip,jppf-node-bin-1.7-0599-20081217.zip和JPPFQuickStart-1.7.0599-20081217.zip。

我们有2台linux机子lab1和lab4,还有一台windows机子lab5.我们把lab1做server,lab4和lab5做node。

在运行之前首先确定有安装ant(下载ant解压,设置好path)。还有需要把端口暴露出来。 执行
sudo vi /etc/sysconfig/iptables

加上以下的代码:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 11111 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 11112 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 11113 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 12001 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 13001 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 11198 -j ACCEPT


然后restart network
sudo /etc/init.d/network restart


设置启动server(好像jppf叫server为drvier),在lab1上解压jppf-driver-bin-1.7-0599-20081217.zip,然后运行
ant run.driver


如果你看到一下信息则说明server已经跑起来了。

引用
Buildfile: build.xml

run.driver:
     [echo] starting the JPPF driver
     [java] Class Server initialized - listening on port 11111
     [java] Client Server initialized - listening on port 11112
     [java] Tasks Server initialized - listening on port 11113
     [java] JPPF Driver management initialized
     [java] JPPF Driver initialization complete


在lab2和lab5上解压jppf-node-bin-1.7-0599-20081217.zip,找到config/jppf-node.properties文件,把jppf.server.host参数设成你的server的ip地址。然后运行
ant run.node
,出现下面的信息则说明node已经启动并且连接上sever了。
Buildfile: build.xml

run.node:
     [java] JPPFClassLoader.init(): attempting connection to the class server
     [java] JPPFClassLoader.init(): Reconnected to the class server
     [java] PeerNode.init(): Attempting connection to the JPPF driver
     [java] PeerNode.init(): Reconnected to the JPPF driver
     [java] Node sucessfully initialized


在windows上解压JPPFQuickStart-1.7.0599-20081217.zip,这是一个eclipse项目, 你可以用eclipse导入,修改config/jppf-client.properties文件的HelloServer.jppf.server.host为lab1的ip,jppf.local.execution.enabled为false禁止本地执行。 把org.jppf.helloworld.HelloWorldRunner这个类中间注释的代码去掉。 然后执行runHelloWorld.cmd, 这时就能看到输出了

[client: driver-1 (192.168.1.221:11198)] ClassServerDelegate.init(): Attempting connection to the class server
[client: driver-1 (192.168.1.221:11198)] ClassServerDelegate.init(): Reconnected to the class server
[client: driver-1 (192.168.1.221:11198)] : Attempting connection to the JPPF task server
[client: driver-1 (192.168.1.221:11198)] : Reconnected to the JPPF task server
********** Results: **********
Hello, World
Hello, World (annotated, hello message, 1)
Hello, World (annotated static, hello message, 2)
Hello, World (annotated constructor, hello message, 3)
java.lang.IllegalAccessException: Class org.jppf.client.taskwrapper.PrivilegedMethodAction can not access a member of class org.jppf.helloworld.HelloWorldPojo with modifiers "protected"
	at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)
	at java.lang.reflect.Method.invoke(Method.java:588)
	at org.jppf.client.taskwrapper.PrivilegedMethodAction.run(PrivilegedMethodAction.java:59)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.jppf.client.taskwrapper.PojoTaskWrapper.execute(PojoTaskWrapper.java:100)
	at org.jppf.client.JPPFAnnotatedTask.run(JPPFAnnotatedTask.java:72)
	at org.jppf.server.node.NodeTaskWrapper.run(NodeTaskWrapper.java:84)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at java.lang.Thread.run(Thread.java:619)

Hello, World (pojo static, hello message, 5)
Hello, World (pojo constructor, hello message, 6)
null
Hello, World (callable)


要注意的是 如果你的java.exe放在有空格的目录中时,需要用引号括起JAVA_HOME.

结论:JPPF还是非常容易使用的(相对于hadoop来说)。 hadoop还是比较抽象的。 不过hadoop还有分布式文件系统这个东西。 不过感觉目前hadoop比JPPF成熟。 JPPF没什么成功案例。 在它官网列出2个例子。
http://www.jppf.org/testimonials.php

JPPF还是不错的一个东西。 准备用它来做些事情。


今天发现一个问题jppf client默认是使用广播的形式找server,如果你的server没有使用广播的形式 你需要改jppf-client.properties, 默认是true的。

jppf.discovery.enabled = false
6
0
分享到:
评论
4 楼 yinjunlove 2014-07-15  
3 楼 bcw104 2013-03-15  
向2008年就已经开始研究hadoop的人致敬
2 楼 rainbow686 2008-12-24  
顶顶顶,牛人啊
1 楼 chenxibang 2008-12-23  
老大,很强啊,技术前峰

相关推荐

    Java Parallel Processing Framework用户手册

    Java Parallel Processing Framework 并行处理框架

    网格计算框架JPPF1.5版

    网格计算框架JPPF,Java Parallel Processing Framework,即java并行处理框架.一个开放源码的网格计算框架,它可以在一个分布执行环境中 同时运行多个java应用.这是他的最新版1.5版

    JPPF安装和使用指南

    Java Parallel Processing Framework(JPPF) 是一个优秀的开源的基于Java的并行处理框架。这是它的安装和使用手册,我自己做的PDF,带书签便于使用!

    JPPF的API(chm)

    Java Parallel Processing Framework(JPPF) 是一个优秀的开源的基于Java的并行处理框架。这是它的API手册,因为网站上面不提供apidoc的下载,所以我自己就做了个chm,方便大家使用!

    JPPF Server测应用扩展

    JPPF Server测应用扩展 JPPF扩展 Extends Server 云计算 分布式

    JPPF节点(node)测应用扩展

    JPPF节点(node)测应用扩展 JPPF扩展 Extends Server 云计算 分布式

    jppf-user-guide

    jppf 2.1 用户手册.介绍了jppf 2.1的使用说明。并对该框架做了深入的说明。

    JPPF helloword

    NULL 博文链接:https://m635674608.iteye.com/blog/1911219

    JPPF-3.3.2

    JPPF-3.3.2全套

    JPPF:开源网格计算解决方案

    开源网格计算解决方案这是JPPF源代码的所在地。 其他服务可以在以下位置找到:JPPF模块: :包含构建脚本,网站和相关模板,以及作为LibreOffice文本文档的文档 :桌面(基于Swing)管理控制台的代码和资源 :Web...

    jppf-client-3.3.3.zip

    distribution-maven-plugin.zip,用于创建发行版和上载网格库的maven插件。用于创建发行版和上载网格库的maven插件。

    基于JPPF的分布式并行检索系统研究.pdf

    #资源达人分享计划#

    jppf-tests:hashmade.frInfoQ 文章的源代码

    mvn 清理包 exec:java JPPFExecutorService - 用例 此测试演示如何使用从 JPPFTask 创建的 JPPFExecutorService(在 JPPF 网格上执行可运行/可调用)。 这里我们需要确保 JPPFExecutorService 提交的作业(每个 ...

    jppf-admin-4.1.1.zip

    scala-rainbow.zip,scala彩虹超简单终端输出着色

    基于JPPF的异构分布式MTH1虚拟筛选系统.pdf

    #资源达人分享计划#

    JPPF:开源网格计算解决方案-开源

    JPPF使得并行化计算密集型任务并在Grid上执行它们变得容易。

    slimgrid-开源

    Slimgrid是一个用于网格计算的Java库,比其他程序(JPPF,Hadoop等)更轻便。 主要设计目标是:极简,简单,普及。 如果您需要一些不需要理解大量复杂API的东西,进行详尽的配置和安装,可靠且可靠,仅使用一个端口...

    JppfPov-开源

    我的应用程序是一个网格计算应用程序,它将POV-Ray(http://www.povray.org/)与JPPF(http://www.jppf.org)框架相连接。 使用我的JppfPov,您可以利用网格计算网络的潜力来执行渲染任务。

Global site tag (gtag.js) - Google Analytics