FTP を使用したリモート Java プログラムの実行、リモート マシン上の非常に大規模なデータセット - プログラムからデータとデータからプログラム
-
20-09-2019 - |
質問
私は Java ベースのアプリケーションを開発しています。関連する要件を以下に示します。
大規模なデータセットはネットワーク上の複数のマシンに存在します。私のプログラムは、これらのデータセットを処理して結果を取得するために Java プログラムを (リモートで) 実行する必要があります。
Windows デスクトップ上のユーザーは、マシン A でデータセット (数ギガ) を処理する必要があります。私のプログラムはユーザーのマシン上に常駐できます。彼は自分のマシンから私のプログラムを実行し、リモート マシンでデータセットの処理を開始します。
ネットワークを介してリモート マシンから自分のマシンにデータセットを取得する代わりに、リモート マシン上でプログラムを実行し、結果を取得します。
ユーザーは他のマシンにオープンアクセスできるが、ftp が必須である
データをネットワーク経由でユーザーのマシンに持ち込むべきではありません。
ユーザーはWindows OSを使用しています
私の質問
この種のリモート プロセス実行を実行するにはどうすればよいですか?何か案は?
私はHadoopを検討しています。Windows XPで作業しています。単一ノードのクラスターでは Hadoop を動作させることができませんでした。良いドキュメントが見つかりません。したがって、私は Hadoop を完全にはテストしていません。私が正しい軌道に乗っているかどうかについて何かコメントはありますか?
Hadoop のインストールやトラブルシューティングに役立つリンクはありますか?
ご回答いただきありがとうございます。さらに詳しい/具体的な詳細を提供する必要がある場合は、お知らせください。
-jv
解決
Javaは、あなたがJAVA VMがあなたのリモートマシン上で実行されていることを仮定して、使用することができRMIのAPIを持っています。これは、最軽量のソリューションです。次の軽い重量はストレートソケット通信となります。その後はおそらく過剰である、EJBサーバーやWebサーバーに取得している。
他のヒント
あなたは注釈を使用してWebサービスとしてメソッドを公開することができますJavaの6でWebサービスを作成する方法を見てください。 Webサービスクライアントは小さく、追加のソフトウェアを必要としません。私が使用してアイデアのIntelliJ IDEが簡単に見つけ、そして純粋なJava 6のクライアントを生成します。
そしてそれは本質的に「正常な」メソッド呼び出しを行う、および結果を処理することに帰着。
それをシンプルに保ちます。グリッド・ソフトウェアは、あなたが望んでいないものを、最も可能性があります。