1

HDFS だけではアクセスできないリモート Hadoop クラスターに接続しようとしています。現在はそのように使用されています: ユーザーは SSH (例: ssh user@somejumboxhost.com) を介してジャンプ ボックスに接続し、次にジャンプ ボックス サーバーからも ssh (例: ssh user@realhadoopcluster1.com) を使用して Hadoop に接続します。私がやろうとしているのは、HDFS クライアントを使用して Scala/Java アプリケーションからファイルにアクセスすることです。今、私はマトリックスのように感じています-「もっと深く行かなければならない」とサーバーに到達する方法がわかりません.

誰かが同じような経験をしたのではないでしょうか?現在、アプリから SSH クライアントを使用して最初のサーバーに接続しようとしていますが、HDFS クライアントを呼び出す方法がわかりません。

どんなアイデアでも大歓迎です、ありがとう!

4

2 に答える 2

1

私はこのようなことを考えることができます。sshを使用してサーバーに接続し、そこからunixコマンドを実行するのに役立つ「ganymed-ssh2」APIがあります。これを使用して、jumoボックスに接続できます。

そして、そこから「ssh user@realhadoopcluster1.comhadoopfssomthing」としてコマンドを実行できます。

このようにsshでコマンドを実行できるので。

ジャンプボックスから、hadoopclusterマシンへのパスワードlesssshを設定します。または、パスワード付きのsshpassを使用できます。

次のリンクにアクセスして、このAPIの使用方法を確認できます。

http://souravgulati.webs.com/apps/forums/topics/show/8116298-how-to-execute-unix-command-from-java-

于 2013-03-19T06:43:13.610 に答える
0

Hadoop は Java で実装されているため、Hadoop クラスターをアプリケーションから直接実行できます。リモート クラスタの場合は、Java RMI を使用します。あなたが行おうとしているこの余分なパイプワークは意味がありません。

于 2013-08-11T14:21:21.707 に答える