【问题标题】:Remote java program execution using ftp, very large dataset on remote machine - program to data vs data to program使用 ftp 执行远程 java 程序,远程机器上的数据集非常大 - 程序到数据与数据到程序
【发布时间】:2011-01-05 07:20:54
【问题描述】:

我正在开发一个基于 java 的应用程序;下面列出了它的相关要求

  • 大型数据集存在于网络上的多台计算机上。我的程序需要(远程)执行一个 java 程序来处理这些数据集并获取结果

  • Windows 桌面上的用户需要在机器 A 上处理数据集(几个 gig)。我的程序可以驻留在用户的机器上。他将从他的机器上执行我的程序并在远程机器上启动数据集处理

  • 他将在远程机器上执行程序并获取结果,而不是通过网络从远程机器获取数据集到他的机器上

  • 用户可以开放访问其他机器,但需要 ftp

  • 不应通过网络将数据带到用户的机器上。

  • 用户有windows操作系统

我的问题

  • 如何执行这种远程进程执行?有什么想法吗?

  • 我在看 hadoop;我正在使用 Windows XP。我无法让 hadoop 为单节点集群工作;我找不到好的文档。因此,我还没有完全测试过 hadoop。如果我在正确的轨道上,有任何 cmets 吗?

  • 你们中的任何人发现对安装 hadoop 和故障排除有用的链接吗?

提前感谢您的任何回复。请让我知道我是否应该提供更多/具体的细节。

-jv

【问题讨论】:

    标签: java windows hadoop large-files remote-execution


    【解决方案1】:

    Java 有一个可供您使用的 RMI API,假设您可以在远程计算机上运行 JAVA VM。这是最轻的解决方案。下一个最轻量级的将是直接套接字通信。之后,您将进入 EJB 服务器或 Web 服务器,这可能是矫枉过正。

    【讨论】:

    • 非常感谢。会检查这个
    • 我还没有深入研究如何使用 RMI;但我认为网络上的每台机器都可以在其 jvm 上运行应用程序(“服务器”(远程)代码 +“客户端”代码)。因此,每台机器都是客户端和服务器,这就是它们相互交谈的方式。这有意义吗?
    • 确实没有带有RMI的客户端和服务器,你当然可以让A类调用B类的方法,然后让B类回报。或者你可以让 B 类返回数据 这是远程方法调用,所以你可以用方法做任何事情,你可以用 RMI 做。
    • 谢谢吉姆。已经开始研究我的基于 RMI 的架构。
    • 当然,吉姆,只要弄清楚更多细节(下周初)。
    【解决方案2】:

    看看如何使用 Java 6 编写 Web 服务。这允许您将方法发布为带有注释的 Web 服务。 Web 服务客户端很小,不需要额外的软件。我发现 Idea IntelliJ IDE 易于使用,并生成了一个纯 Java 6 客户端。

    然后它基本上归结为进行“正常”方法调用,并处理结果。

    保持简单。网格软件很可能不是您想要的。

    【讨论】:

    • 非常感谢。将对此进行检查。
    • 在 Web 服务和 RMI 实现之间,这可能更快更轻。我的意思是不先做研究就问问题,但我认为专家的意见可以帮助指导正确的方向。
    • RMI 会更快。那是Java字节码到Java字节码。 Web 服务通常是 XML 到 java 字节码。那就是我把它们放在我的其他东西列表的最后。当您拥有或可以合理地期望非 java 客户端与您交谈时,Web 服务运行良好。据我了解,就你而言。
    • RMI 和 Web 服务(如果有)之间的速度差异将严重淹没网络速度。不信你就量一下吧!
    猜你喜欢
    • 2017-12-14
    • 1970-01-01
    • 2021-07-15
    • 2019-11-02
    • 2016-02-24
    • 1970-01-01
    • 2013-06-26
    • 1970-01-01
    • 2011-07-20
    相关资源
    最近更新 更多