如何设置Scala / Java工作流以通过Jumpserver进行远程部署jar和远程调试?

时间:2018-06-21 15:00:51

标签: java scala debugging ssh deployment

在我的组织中,我的任务是做一些Spark开发,并且尝试使用Scala,但是其他许多代码是Java。我正在管理与Maven的依赖关系。我的代码最终将在Hadoop集群(Cloudera)的边缘节点上运行并运行。

该边缘节点只能通过Jumpserver通过SSH访问,而我正在努力寻找高效的工作流程。该团队中的其他人一直在调试,包括打印语句,在本地构建.jar,通过WinSCP将它们复制到边缘节点,然后在Putty会话中通过命令行运行它们(SSH进入Jumpserver,然后在该会话中使用SSH命令)连接到边缘节点。

我->跳转服务器->边缘节点

我想知道如何解决这个问题,以便可以快速构建一个jar并将其放置在该服务器上,并使其在连接远程调试的环境中运行。

Eclipse和IntelliJ都具有用于远程调试的功能,但是可以使它通过Jumpserver来工作吗,以及何时只能通过SSH来实现?

以某种方式将边缘节点上的目录映射到我的本地文件系统并让IDE将.jar放在那里并对其进行调试,是否可行?

--- 请记住,.jar确实需要在边缘节点的服务器上下文/环境中(对于Spark / Hadoop hdfs),因此如果.jar尝试使用我的本地Windows环境

对此有什么解决方案?谢谢!

其他可选信息:

我们让Jenkins运行到每次我们检入代码更改时都会自动构建代码的位置,并且我们内部有一个构建/部署管理服务,可以将其配置为实际输出.jar并将其部署到一台服务器。但是,这太慢了,以至于无法运行代码来检查更改,并且不能解决调试问题。

1 个答案:

答案 0 :(得分:0)

可以检查jsch java库,通过它可以连接到unix服务器并传递所需的命令。在您的情况下,您需要连接到Jumphost,然后传递诸如边缘节点主机之类的命令和必需的命令。