繁体   English   中英

如何获取Hadoop火花作业的跟踪URL或如何通过Scala代码捕获spark-submit输出

[英]how to get the Hadoop-spark job's tracking URL or catch the spark-submit output by scala code

我部署了Hadoop-Spark集群并运行我的工作。 通过提交脚本bin / spark-submit,我可以成功提交spark作业。 现在,我想捕获跟踪URL,就像http:// hadoop-01:8088 / proxy / application_1446625315279_0017 /一样 ,并在我的其他scala项目中使用它。 我怎样才能做到这一点? 我尝试重新分配spark-submit输出,但似乎不起作用,就像

./bin/spark-submit --class org.apache.spark.examples.mllib.JavaKMeans --master yarn-cluster --num-executors 32 --executor-cores 4 --executor-memory 16G --driver-memory 8G lib/spark-examples-1.4.0-hadoop2.6.0.jar /data/kmeans_data.txt 100 9 >> log.log

但是完成后,log.log仍然为空。

另一个,我尝试使用scala.sys.process.ProcessIO来捕获spark-submit输出,它不能按我想要的方式工作,这里是代码:

def submitSparkJob(filename: String) = {
  val baseCmd = """/opt/spark-1.4.0-bin-hadoop2.6/bin/spark-submit 
              | --master yarn-cluster
              | --num-executors 32 --executor-cores 4 --executor-memory 16G
              | --driver-memory 8G""".stripMargin.replace("\n", " ")

  val jarEntry = " --class org.apache.spark.examples.mllib.JavaKMeans "
  val jarFile = " /opt/spark-1.4.0-bin-hadoop2.6/lib/spark-examples-1.4.0-hadoop2.6.0.jar"
  val pramas = " /data/" + filename + " 1000 9"
  val cmd = baseCmd + jarEntry + jarFile + pramas

  val pb = Process(cmd)
  val pio = new ProcessIO(_ => (),
                    stdout => scala.io.Source.fromInputStream(stdout)
                      .getLines.foreach(println),
                    _ => ())
  pb.run(pio)
}  

我看不到终结器中的任何输出。 如何获得Spark作业的“跟踪URL”并将其用于我的Scala代码? 谢谢 !

哦,我的上帝! 终结器上的bin / spark-submit显示是错误信息。 因此,请使用./bin/spark-submit args 2 >> log.txt进行重定向,或将scala代码更改为:

val pio = new ProcessIO(_ => (),
                    _ => (),
                    err => scala.io.Source.fromInputStream(err)
                      .getLines.foreach( line =>
                        if(pattern.findFirstMatchIn(line) != None){
                          result = line
                          println(line)
                        }
                      )
                    )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM