首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用nohup从文件中执行spark-shell?

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

Stack Overflow用户
提问于 2015-09-07 21:57:37
回答 5查看 9.1K关注 0票数 3

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

我希望能够让它继续工作,并退出ssh会话,在需要的时候返回结果。

我试过了,它的行为很奇怪

代码语言:javascript
复制
spark-shell -i file.scala >> out.log 2>&1 &

它只将几行通常的spark输出打印到out.log,然后报告进程已经结束。当我执行“ps aux | grep spark”时,我看到进程之间正在运行spark。

当我运行它时,它的行为与预期的一样,但我必须让会话打开才能得到我的结果。

代码语言:javascript
复制
spark-shell -i file.scala

有没有办法让spark-shell和nohup一起正常工作?

我知道使用jar可以使用spark-submit,但它感觉不那么直观,对于一个简单的测试,我必须安装一个jar并使用maven魔法。

EN

回答 5

Stack Overflow用户

发布于 2017-04-12 23:10:12

我在nohup中遇到了与spark-shell相同的行为。这背后的原因尚不清楚,但可以使用tmux而不是nohup作为变通方法。在here上可以找到一个关于如何使用tmux的很好的指南。

可能的操作集如下:

代码语言:javascript
复制
$ tmux new -s session-name
$ ./bin/spark-shell
# do usual stuff manually

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

代码语言:javascript
复制
$ tmux attach -t session-name
票数 6
EN

Stack Overflow用户

发布于 2015-09-07 23:30:06

我使用一个外壳脚本在my-script.sh中执行spark-shell

代码语言:javascript
复制
$SPARK_HOME/bin/spark-shell < $HOME/test.scala > $HOME/test.log 2>&1 &

通过谷歌搜索来阅读它,并尝试它。它在我这一端起作用。

票数 4
EN

Stack Overflow用户

发布于 2018-10-17 02:55:10

如果您尝试在aws-cli上执行它,则可以使用以下命令。

代码语言:javascript
复制
nohup bash -c "YOUR_COMMAND 2>&1 &"

所以要执行spark-shell

代码语言:javascript
复制
nohup bash -c "spark-shell -i  file.scala >> out.log 2>&1 &"
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32440430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档