解决办法:程序中设置日志级别,然后将运行结果保存在nohup.out文件中
//程序中导入
import org.apache.log4j.{Level, Logger}
//下面两行代码放在main函数里
Logger.getLogger("org.apache.spark").setLevel(Level.WARN)
Logger.getLogger("org.apache.spark.sql").setLevel(Level.WARN)
关于setLevel()中的参数:
1.DEBUG Level指出细粒度信息事件对调试应用程序是非常有帮助的,一般认为比较重要的方法执行需要详细查看运行情况的则开启debug。
2.INFO level表明消息在粗粒度级别上突出强调应用程序的运行过程,只需要了解该方法是否运行的可以使用INFO
3.WARN level表明会出现潜在错误的情形。
4.ERROR level指出虽然发生错误事件,但仍然不影响系统的继续运行。一般异常处理等情况都需要ERROR
运行结果保存在nohup.out文件中:
nohup spark-submit
--class "com.sparkcore.dataQuality.dataExploration.data_exploration_7.Code_Test" --master spark://10.10.10.10:7077 --total-executor-cores 24 --executor-memory 3G --driver-memory 3G /home/spark/code_jar/gz_data/wifi/first-classes.jar
nohup 命令:后台运行程序并输出,将结果保存在jar包同一目录下。