spark-jobserver
Spark-jobserver 提供了一个 RESTful 接口来提交和管理 spark 的 jobs、jars 和 job contexts。这个项目包含了完整的 Spark job server 的项目,包括单元测试和项目部署脚本。
特性
“Spark as Service”:针对 job 和 contexts 的各个方面提供了 REST 风格的 api 接口进行管理
支持 SparkSQL、Hive、Streaming Contexts/jobs 以及定制 job contexts!具体参考Contexts
通过集成 Apache Shiro 来支持 LDAP 权限验证
通过长期运行的job contexts支持亚秒级别低延迟的任务
可以通过结束 context 来停止运行的作业(job)
分割 jar 上传步骤以提高 job 的启动
异步和同步的 job API,其中同步 API 对低延时作业非常有效
支持 Standalone Spark 和 Mesos、yarn
Job 和 jar 信息通过一个可插拔的 DAO 接口来持久化
对RDD或DataFrame对象命名并缓存,通过该名称获取RDD或DataFrame。这样可以提高对象在作业间的共享和重用
支持 Scala 2.11 版本和 2.12 版本
版本信息
请参考官方文档:版本信息
部署
拷贝 conf/local.sh.template 文件到 local.sh 。备注:如果需要编译不同版本的Spark,请修改 SPARK_VERSION 属性。
拷贝 config/shiro.ini.template 文件到 shiro.ini。备注: 仅需 authentication = on时执行这一步。
拷贝 config/local.conf.template 到 .conf。
bin/server_deploy.sh ,这一步将job-server以及配置文件打包,并一同推送到配置的远程服务器上。
在远程服务器上部署的文件目录下通过执行 server_start.sh 启动服务,如需关闭服务可执行 server_stop.sh。
https://github.com/spark-jobserver/spark-jobserver/blob/master/doc/chinese/job-server.md