2013-03-15 4 views
1

Я пытаюсь подключиться к удаленному клану hadoop, который недоступен только через HDFS. В настоящее время он используется таким образом: пользователь подключается к строке перехода через SSH (например, ssh [email protected]), а затем из сервера с ящиками вы можете подключиться к hadoop также с помощью ssh (например, ssh [email protected]). Я пытаюсь получить доступ к файлам из моего приложения Scala/Java с помощью HDFS-клиента. Теперь я чувствую себя в Матрице - «Я должен идти глубже» и не знаю, как добраться до сервера.Подключение к Hadoop из приложения Java с использованием SSH

Может быть, у кого-то был подобный опыт? Прямо сейчас я пытаюсь подключиться к первому серверу с SSH-клиентом из своего приложения, но тогда я не знаю, как назвать клиента HDFS.

Любые идеи будут оценены, спасибо!

ответ

1

Я могу думать о чем-то подобном. Существует «ganymed-ssh2» api, который помогает вам подключиться к некоторому серверу с помощью ssh и запустить команду unix оттуда. Используя это, вы можете подключиться к вашему jumo box.

И оттуда вы можете запустить команду как «SSH [email protected] Hadoop фс Somthing»

Как мы можем запускать команды с SSH, как это.

С вашего сканера установите пароль менее ssh на свою машину hadoopcluster. или вы можете использовать sshpass с паролем.

Вы можете посетить следующую ссылку, чтобы проверить, как использовать этот API:

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

+0

Спасибо за ваш ответ. На самом деле, у меня в итоге что-то похожее, я использовал scala-ssh lib, но потом просто решил поставить файл, который мне нужен, чтобы получить доступ в лучшем месте, поэтому было бы легче получить. – psisoyev

0

Hadoop реализован в Java, так что вы можете просто запустить кластер Hadoop непосредственно из приложения. Используйте Java RMI, если это удаленный кластер. Этот дополнительный трубопровод, который вы пытаетесь сделать, не имеет смысла.

Смежные вопросы