spark系列-应用篇之通过livy提交Spark任务

前言

上一篇使用yarn api的提交spark任务比较麻烦, 这次我们使用livy来提交spark任务。livy的使用十分简单,功能上比yarn api还要强大,支持提交spark代码片断,session共享

安装

  • 下载livy0.5.0,下载完成后进行解压。
  • 配置conf/livy.conf文件,设置livy.spark.master = yarn。其他的配置项目,可以根据你的需要来配置,包括host和port等等

    livy.spark.master = yarn

  • 配置conf/livy-env.sh文件,主要是配置你spark的目录,当然你也可以配置一些环境变量,如HADOOP_USER_NAME

    export SPARK_HOME=/usr/local/apache/spark-2.3.1-bin-hadoop2.6

  • 启动

start-dfs.sh
start-yarn.sh
bin/livy-server start
  • 访问页面 http://localhost:8998/
    spark系列-应用篇之通过livy提交Spark任务_第1张图片

使用

livy提供了不少的api,可以参考官方文档

新建session

post http://localhost:8998/sessions

spark系列-应用篇之通过livy提交Spark任务_第2张图片

查看session状态

get http://localhost:8998/sessions

spark系列-应用篇之通过livy提交Spark任务_第3张图片

提交代码片断

post http://localhost:8998/sessions/0/statements
如果在同一个session,提交的代码片断是同享的,相当于你在同一个spark-shell里面进行操作
spark系列-应用篇之通过livy提交Spark任务_第4张图片

查看代码运行结果

get http://localhost:8998/sessions/0/statements/0

spark系列-应用篇之通过livy提交Spark任务_第5张图片

杀掉session

delete http://localhost:8998/sessions/0

spark系列-应用篇之通过livy提交Spark任务_第6张图片

提交spark任务

post http://localhost:8998/batches

spark系列-应用篇之通过livy提交Spark任务_第7张图片

查看spark任务结果

get http://localhost:8998/batches

spark系列-应用篇之通过livy提交Spark任务_第8张图片

下面是刚才运行开始的session和提交的spark任务,在yarn任务列表中可以看到。
spark系列-应用篇之通过livy提交Spark任务_第9张图片

总结

livy在使用上十分的简单,除提供rest api,还提供了jar,有兴趣的同学可以试试。

你可能感兴趣的:(大数据,spark)