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/
    这里写图片描述
    #使用
    livy提供了不少的api,可以参考官方文档
    ##新建session

post http://localhost:8998/sessions

这里写图片描述
##查看session状态

get http://localhost:8998/sessions

这里写图片描述
##提交代码片断

post http://localhost:8998/sessions/0/statements
如果在同一个session,提交的代码片断是同享的,相当于你在同一个spark-shell里面进行操作
这里写图片描述
##查看代码运行结果
get http://localhost:8998/sessions/0/statements/0

这里写图片描述
##杀掉session

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

这里写图片描述
##提交spark任务

post http://localhost:8998/batches

这里写图片描述
##查看spark任务结果

get http://localhost:8998/batches

这里写图片描述

下面是刚才运行开始的session和提交的spark任务,在yarn任务列表中可以看到。
这里写图片描述

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


版权声明:本文为camel84原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。