Spark与Job Server整合原理与实战
Spark与Job Server整合原理
Spark-jobserver 提供了一个 RESTful 接口来提交和管理 spark 的 jobs、jars 和 job contexts。Spark-jobserver项目包含了完整的 Spark job server 的项目,包括单元测试和项目部署脚本。
Spark-jobserver的特性:
l “Spark as Service”:针对 job 和 contexts 的各个方面提供了 REST 风格的 api 接口进行管理
l 支持 SparkSQL、Hive、StreamingContexts/jobs 以及定制 job contexts
l 通过集成 Apache Shiro 来支持 LDAP 权限验证
l 通过长期运行的job contexts支持亚秒级别低延迟的任务
l 可以通过结束 context 来停止运行的作业(job)
l 分割 jar 上传步骤以提高 job 的启动
l 异步和同步的 job API,其中同步 API 对低延时作业非常有效
l 支持 Standalone Spark 和 Mesos、yarn
l Job 和 jar 信息通过一个可插拔的DAO 接口来持久化
l 对RDD或DataFrame对象命名并缓存,通过该名称获取RDD或DataFrame。这样可以提高对象在作业间的共享和重用
l 支持 Scala 2.10 版本和 2.11 版本
Spark-jobserver的部署
1) 拷贝 conf/local.sh.template 文件到 local.sh 。备注:如果需要编译不同版本的Spark,需修改 SPARK_VERSION 属性。
2) 拷贝config/shiro.i