在使用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. vs 编译error1083

    1)右键查看该项目的属性 2)点击配置属性——〉  C/C++  ——〉  常规  ——〉 附加包含目录——〉将报错文件所在目录添加进去 3) 将项目的本地路径替换为工程相对路径 一般来说,打不开文件 ...

  2. React学习笔记(六)事件处理

    React学习笔记(六) 五.事件处理 React事件绑定属性的命名采用驼峰写法,不同于传统DOM全部小写. 如果采用JSX的语法,事件函数需要用大括号{}包裹函数名,不同于传统DOM字符串小括号的方 ...

  3. 使用NPOI 2.1.1读取EXCEL2003/2007返回DataTable

    winform中打开excel的筛选器设置为:openFileDialog.Filter = "Excel 文件(*.xls)|*.xls;*.xlsx"; 一,不借助插件读取Ex ...

  4. HBase编程 API入门系列之create(管理端而言)(8)

    大家,若是看过我前期的这篇博客的话,则 HBase编程 API入门系列之put(客户端而言)(1) 就知道,在这篇博文里,我是在HBase Shell里创建HBase表的. 这里,我带领大家,学习更高 ...

  5. wind10优化

    windows10启动优化 启动时: 1)关闭windows自动更新 2)关闭windows防火墙 3)关闭Windows Defender (1)使用快捷键(WIN+R)调出运行工具,然后再输入组策 ...

  6. 深入浅出SharePoint2010——请假系统实战

    一.需求分析文档 二.请假系统无代码解决方案 2.1 数据框架设计 2.2 权限设计 2.3 表单设计 2.4 工作流设计 2.5 门户主页设计 三.请假系统第三方解决方案(Nintex) 四.请假系 ...

  7. iptables常用配置

    常用的iptables模板 #!/bin/sh iptables -F iptables -X iptables -F -t mangle iptables -t mangle -X iptables ...

  8. TensorFlow函数(四)tf.trainable_variable() 和 tf.all_variable()

    tf.trainable_variable() 此函数返回的是需要训练的变量列表 tf.all_variable() 此函数返回的是所有变量列表 v = tf.Variable(tf.constant ...

  9. linq的左连接右连接内连接用法

    1.左连接: var LeftJoin = from e in ListOfEmployees join d in ListOfDepartment on e.DeptID equals d.ID i ...

  10. python多线程练习

    import threading from time import sleep,ctime def print1(): for i in range(10): print(i,end='') prin ...