使用ssh从java应用程序连接到hadoop

bvpmtnay  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(315)

我正在尝试连接到远程hadoop集群,它不能通过hdfs访问。现在它的使用方式是:用户通过ssh(例如ssh)连接到跳转盒user@somejumboxhost.com),然后从跳转盒服务器连接到hadoop,也使用ssh(例如ssh)user@realhadoopcluster1.com). 我要做的是使用hdfs客户机从scala/java应用程序访问文件。现在,我感觉就像在矩阵-“我必须深入”和不知道如何到达服务器。
可能有人有类似的经历?现在,我正试图从我的应用程序连接到第一个服务器与ssh客户端,但我不知道如何调用hdfs客户端。
任何想法都将不胜感激,谢谢!

du7egjpx

du7egjpx1#

hadoop是用java实现的,因此您可以直接从应用程序运行hadoop集群。如果是远程集群,请使用javarmi。你要做的额外管道工程毫无意义。

3bygqnnd

3bygqnnd2#

我能想到这样的事。有一个“ganymed-ssh2”api,它可以帮助您使用ssh连接到某个服务器并从那里运行unix命令。使用这个你可以连接到你的jumo盒子。
在那里,您可以以“ssh”的形式运行命令user@realhadoopcluster1.com hadoop fs somthing“
因为我们可以像这样用ssh运行命令。
在跳转框中,为hadoopcluster机器设置一个无密码ssh。或者你可以使用sshpass和密码。
您可以访问以下链接来检查如何使用此api:
http://souravgulati.webs.com/apps/forums/topics/show/8116298-how-to-execute-unix-command-from-java-

相关问题