복붙노트

[HADOOP] SSH를 사용하여 Java 앱에서 Hadoop에 연결

HADOOP

SSH를 사용하여 Java 앱에서 Hadoop에 연결

HDFS를 통해서만 액세스 할 수없는 원격 hadoop 클러스터에 연결하려고합니다. 사용자가 SSH를 통해 점프 박스에 연결 한 후 (예 : ssh user@somejumboxhost.com) 점프 박스 서버에서 ssh를 사용하여 hadoop에 연결합니다 (예 : ssh user@realhadoopcluster1.com). 내가하려는 것은 HDFS 클라이언트를 사용하여 Scala / Java 응용 프로그램에서 파일에 액세스하는 것입니다. 이제 저는 Matrix와 같은 느낌을 받고 있습니다. "더 깊이 가야합니다". 서버에 도달하는 방법을 모릅니다.

비슷한 경험을 가진 사람이 있습니까? 지금은 내 앱에서 SSH 클라이언트로 첫 번째 서버에 연결하려고하는데 HDFS 클라이언트를 호출하는 방법을 모르겠습니다.

모든 아이디어, 감사합니다 감사합니다!

해결법

  1. ==============================

    1.나는 이런 식으로 생각할 수 있습니다. "ganymed-ssh2"api가있어 ssh를 사용하여 일부 서버에 연결하고 거기서 UNIX 명령을 실행할 수 있습니다. 이를 사용하여 jumo box에 연결할 수 있습니다.

    나는 이런 식으로 생각할 수 있습니다. "ganymed-ssh2"api가있어 ssh를 사용하여 일부 서버에 연결하고 거기서 UNIX 명령을 실행할 수 있습니다. 이를 사용하여 jumo box에 연결할 수 있습니다.

    그리고 거기에서 "ssh user@realhadoopcluster1.com hadoop fs something"과 같은 명령을 실행할 수 있습니다

    이와 같이 ssh로 명령을 실행할 수 있습니다.

    점프 박스에서 암호를 hadoopcluster 시스템에 덜 ssh로 설정하십시오. 또는 비밀번호로 sshpass를 사용할 수 있습니다.

    이 API를 사용하는 방법을 확인하려면 다음 링크를 방문하십시오.

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

  2. ==============================

    2.Hadoop은 Java로 구현되므로 애플리케이션에서 직접 Hadoop 클러스터를 실행할 수 있습니다. 원격 클러스터 인 경우 Java RMI를 사용하십시오. 당신이하려고하는이 추가 배관은 의미가 없습니다.

    Hadoop은 Java로 구현되므로 애플리케이션에서 직접 Hadoop 클러스터를 실행할 수 있습니다. 원격 클러스터 인 경우 Java RMI를 사용하십시오. 당신이하려고하는이 추가 배관은 의미가 없습니다.

  3. from https://stackoverflow.com/questions/15431207/connecting-to-hadoop-from-java-app-using-ssh by cc-by-sa and MIT license