#前言
上一篇使用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,有兴趣的同学可以试试。