在使用spark-submit运行工程jar包时常常会出现一下两个问题:
1.在程序中手打的log(如System.out.println(“***testRdd.count=”+testRdd.count()))常常会因被下一个Job的执行日志覆盖掉而无法查看日志;
2.一旦命令窗口被关闭或者电脑因断电等原因异常关闭,程序便终止运行。
其中,第一个问题可以通过将运行日志重定位到文件中来解决,命令如下: spark-submit testSpark.jar > ~/testLog.out 运行上条命令则可将手打的log保存到~/testLog.out中,且日志中仅保存手打Log内容。 第二个问题,则可以通过后台运行Spark-submit命令nohip来解决,命令如下: nohip spark-submit testSpark.jar & 运行上条命令则实现在后台运行spark命令,不用担心电脑异常关机以及命令行不小心关闭等问题,且输出日志保存在当前目录的nohip.out目录中。
如果希望既可以后台运行命令又可以将日志保存到目的文件中,则可将上述两个命令结合起来,命令如下: nohip spark-submit testSpark.jar > ~/testLog.out & 如此,便可实现后台运行的问题,nohip不仅可以用于后台执行Spark命令,也可用于后台执行其他jar包,可具体查找nohip的使用方法。

nohip spark-submit testSpark.jar > ~/testLog.out &

2,第二种方法 ,linux 重定向 1>&2    2>&1 (可用于多方面)

重定向输出2,重定向输出1 (推荐)

1                                       2

spark-submit testSpark.jar >> testLog.out 2>&1 &  (后台运行输出1)

tail -F  testLog.out 查看运行日志

例如

#FlumeStartShell /usr/hdp/current/flume-server
bin/flume-ng agent -c conf/ -f /usr/hdp/current/flume-server/Cold_TestConf/spooldircsv1.conf -n a1 -Dflume.root.logger=WARN,console >> /run.log 2>&1 &

#SparkStreamingStartShell /home/t
spark-submit --class test --master yarn --deploy-mode client --queue ETL --driver-memory 4g --num-executors 4 --executor-memory 4g --executor-cores 4 --driver-java-options="-Djava.security.auth.login.config=jaas.conf" --conf "spark.executor.extraJavaOptions=-Djava.security.auth.login.config=jaas.conf" --files "./jaas.conf#jaas.conf,./kafka.service.keytab#kafka.service.keytab" --jars ojdbc6.jar,config-1.3.1.jar tes.jar

#MointorStartShell source activate rmfile /script/
java -classpath Test.jar test >>run.log 2>&1 &

后台运行spark-submit命令的方法的更多相关文章

  1. windows运行打开服务命令的方法 :

    windows运行打开服务命令的方法 : 在开始->运行,输入以下命令 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup------ ...

  2. linux 让程序在后台运行的几种可靠方法

    我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络断开 ...

  3. linux-shell-screen后台调用-后台运行脚本和命令-仿start命令-伪窗口界面

    序 我比较熟练bat.cmd脚本.刚接触使用shell时,总会习惯想用windows窗口界面来套用shell脚本.于是找到screen后台命令,它可以交互shell脚本,保持后台运行.但是在批处理ba ...

  4. Linux后台运行java的jar包后台运行java -jar 命令

    为什么java -jar 的命令终端的窗口关闭就停止运行了??tomcat中war的就不会? 关闭终端的窗口相当于ctrl+c的命令,关闭了窗口就相当于停止了java -jar这个进程,即ctrl+c ...

  5. Linux下使Shell 命令脱离终端在后台运行

    --Linux下使Shell 命令脱离终端在后台运行------------------------------------2014/02/14你是否遇到过这样的情况:从终端软件登录远程的Linux主 ...

  6. 使程序在Linux下后台运行 (关掉终端继续让程序运行的方法)

    你是否遇到过这样的情况:从终端软件登录远程的Linux主机,将一堆很大的文件压缩为一个.tar.gz文件,连续压缩了半个小时还没有完成,这时,突然你断网了,你登录不上远程Linux主机了,那么前面的半 ...

  7. linux后台运行相关命令

    1.nohup & 让程序后台运行,nohup 命令 & 2.jobs 查看当前有多少在后台运行的命令 jobs -l选项可显示所有任务的PID,jobs的状态可以是running, ...

  8. 【原创】大数据基础之Spark(1)Spark Submit即Spark任务提交过程

    Spark2.1.1 一 Spark Submit本地解析 1.1 现象 提交命令: spark-submit --master local[10] --driver-memory 30g --cla ...

  9. Linux - 请允许我静静地后台运行

    h1,h2,h3,h4,h5,h6,p,blockquote { margin: 0; padding: 0 } body { font-family: "Helvetica Neue&qu ...

随机推荐

  1. 7 Dockerfile指令详解 && VOLUME 指令

    格式为: VOLUME ["<路径1>", "<路径2>"...] VOLUME <路径> 之前我们说过,容器运行时应该尽量 ...

  2. August 21st 2017 Week 34th Monday

    In fact, the happiest fairy tale is no more than the simple days we have together. 其实全世界最幸福的童话,也比不上我 ...

  3. php中的html元素

    我们先看下面的代码 form2.php <html> <head><title>greetins eartyling</title></head& ...

  4. ubuntu 14.04 配置 java 环境

    下载java包 (这里以java8为例) java包的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloa ...

  5. Safari自动代理

    1. 准备一个代理服务器,我使用的是GoAgent. 2. 准备一个PAC文件,我是从chrome导出的. 3. 准备一个本地文件服务器或web服务器,我是因为手头有一个使用NodeJS的小项目,所以 ...

  6. python的sys和os模块

    一.sys sys.argv:实现从程序外部向程序传递参数.  其中sys.argv[0]为脚本的名称,所以要判断是否有参数传入可以:if len(sys.argv) > 1.  sys.exi ...

  7. vue 项目搭建笔记1

    1.首先安装node.js(傻瓜式安装,安装路径默认C盘) 2.打开node.js command prompt 3.进入想放项目的文件夹.如D:  -->回车 4.进入具体文件夹,如cd wo ...

  8. javascript编译与运行机理(1)--

    随着学习js的深入就越想了解其内部的运行机理,看了很多文章,感觉下面总结的不错.但囿于个人水平,只是达到了理解层面,还不能提出自己的见解,只好把资料罗列出来,留待以后总结: 1.Javascript的 ...

  9. SVM中为何间隔边界的值为正负1

    在WB二面中,问到让讲一下SVM算法. 我回答的时候,直接答道线性分隔面将样本分为正负两类,取平行于线性切割面的两个面作为间隔边界,分别为:wx+b=1和wx+ b = -1. 面试官就问,为什么是正 ...

  10. IE8崩溃在CElement::GetUpdatedLayoutWithContext

    发了一个我们页游助手的版本时,测试报告在某些机器上点开某网站时崩溃 "0x637e5067指令引用的0x00000008内存,该内存不能为read",查看dump文件,堆栈如下: ...