如何使用nohup从文件中执行spark-shell?

sno*_*ndy 3 apache-spark

我有一个scala脚本文件,它以经典的方式通过交互式spark-shell成功执行:键入spark-shell,粘贴脚本,等待完成.

我希望能够让这个东西工作并退出ssh会话,在需要时回到结果.

我试过这个,它表现得很奇怪

spark-shell -i file.scala >> out.log 2>&1 &
Run Code Online (Sandbox Code Playgroud)

它只向out.log打印几行常用的spark输出,然后报告该过程已经结束.当我做'ps aux | grep spark'我看到流程中有火花在运行.

当我运行它时,它的行为与预期一致,但我必须打开会话以获得我的结果.

spark-shell -i file.scala
Run Code Online (Sandbox Code Playgroud)

有没有办法让火花贝壳正常使用nohup?

我知道有火花提交工作与罐子,但感觉不太直观,对于一个简单的测试,我必须装配一个罐子,做maven魔术.

Nik*_*iev 5

我遇到相同的行为spark-shellnohup.背后的原因尚不清楚,但可以使用tmux而不是nohup解决方法.tmux可以在这里找到关于如何使用的非常好的指南.

可能的一组操作如下:

$ tmux new -s session-name
$ ./bin/spark-shell
# do usual stuff manually
Run Code Online (Sandbox Code Playgroud)

然后,如果关闭终端窗口并退出ssh会话,则可以重新进入tmux会话,如下所示:

$ tmux attach -t session-name
Run Code Online (Sandbox Code Playgroud)