2013-03-15 47 views
1

我正在嘗試連接到遠程hadoop羣集,該羣集無法通過HDFS訪問。現在它正在以這種方式使用:用戶通過SSH連接到跳轉框(例如ssh [email protected]),然後從跳轉框服務器連接到hadoop也使用ssh(例如ssh [email protected])。我正在嘗試使用HDFS客戶端從我的Scala/Java應用程序訪問文件。現在我感覺就像在矩陣 - 「我必須更深入」,不知道如何到達服務器。使用SSH從Java應用程序連接到Hadoop

可能是有人有類似的經歷?現在我試圖用我的應用程序通過SSH客戶端連接到第一臺服務器,但是我不知道如何調用HDFS客戶端。

任何想法將不勝感激,謝謝!

回答

1

我可以想到這樣的事情。有一個「ganymed-ssh2」api,它可以幫助你使用ssh連接到某個服務器,並從那裏運行unix命令。使用這個你可以連接到你的遊戲盒。

並從那裏你可以運行命令「SSH [email protected] Hadoop的FS財產以後」

我們可以用這樣的ssh運行命令。

從您的跳轉框中,爲您的hadoopcluster機器設置一個密碼較少的ssh。或者您可以使用帶密碼的sshpass。

您可以訪問以下鏈接查看如何使用這個API:

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

+0

感謝您的回答。其實,我最終得到了一些類似的東西,我使用了scala-ssh lib,但後來決定把我需要的文件放在一個更好的地方,所以它會更容易得到。 – psisoyev 2013-03-19 08:05:09

0

Hadoop是用Java實現的,所以你可以只直接從您的應用程序運行Hadoop集羣。如果它是遠程集羣,請使用Java RMI。你試圖做的額外管道沒有意義。

相關問題