我正在尝试连接到无法通过 HDFS 访问的远程 hadoop 集群。现在它以这种方式使用:用户通过 SSH(例如 ssh user@somejumboxhost.com)连接到 Jump box,然后我们也使用 ssh(例如 ssh user@realhadoopcluster1.com)从 jump box 服务器连接到 hadoop。我想做的是使用 HDFS 客户端从我的 Scala/Java 应用程序访问文件。现在我感觉就像在 Matrix 中一样——“我必须更深入”并且不知道如何到达服务器。
有没有人有过类似的经历?现在我正尝试从我的应用程序使用 SSH 客户端连接到第一台服务器,但我不知道如何调用 HDFS 客户端。
任何想法将不胜感激,谢谢!
最佳答案
我能想到这样的事情。有“ganymed-ssh2”api 可以帮助您使用 ssh 连接到某个服务器并从那里运行 unix 命令。使用它您可以连接到您的 jumo 盒子。
从那里你可以运行命令为“ssh user@realhadoopcluster1.com hadoop fs somthing”
因为我们可以像这样使用 ssh 运行命令。
从您的跳转箱,设置一个无密码的 ssh 到您的 hadoopcluster 机器。或者您可以使用带密码的 sshpass。
您可以访问以下链接查看如何使用此 api:
http://souravgulati.webs.com/apps/forums/topics/show/8116298-how-to-execute-unix-command-from-java-
关于java - 使用 SSH 从 Java 应用程序连接到 Hadoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15431207/