spark jobserver源码的示例分析

小编给大家分享一下spark jobserver源码的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

spark jobserver的特征:

1.“Spark as Service”:针对job和contexts的各个方面提供了REST风格的api接口进行管理2. 支持SparkSQL、Hive、StreamingContext/jobs以及定制job contexts!3. 通过集成 Apache Shiro 来支持 LDAP 权限验证4. 为了隔离每个sparkcontext单独一个jvm5. 通过长期运行的job contexts支持亚秒级别低延迟的任务6. 可以通过结束 context 来停止运行的作业(job)7. 分割 jar 上传步骤以提高 job 的启动速度8. 异步和同步的 job API,其中同步 API 对低延时作业非常有效9. 支持Standalone Spark和Mesos、yarn10. Job和jar信息通过一个可插拔的DAO接口来持久化11. 对RDD或DataFrame对象命名并缓存,通过该名称获取RDD或DataFrame。这样可以提高对象在作业间的共享和重用

建议大家可以从Spark jobserver的bin目录下手,比如server_start.sh脚本,该脚本本身就是一个spark 任务提交脚本比较好的范例。

#!/usr/bin/env bash# Script to start the job server# Extra arguments will be spark-submit options, for example#  ./server_start.sh --jars cassandra-spark-connector.jar## Environment vars (note settings.sh overrides):#   JOBSERVER_MEMORY - defaults to 1G, the amount of memory (eg 512m, 2G) to give to job server#   JOBSERVER_CONFIG - alternate configuration file to use#   JOBSERVER_FG    - launches job server in foreground; defaults to forking in backgroundset -e
get_abs_script_path() {  pushd . >/dev/null  cd "$(dirname "$0")"  appdir=$(pwd)  popd  >/dev/null}
get_abs_script_path
set -a. $appdir/setenv.shset +a
GC_OPTS_SERVER="$GC_OPTS_BASE -Xloggc:$appdir/$GC_OUT_FILE_NAME"
MAIN="spark.jobserver.JobServer"
PIDFILE=$appdir/spark-jobserver.pidif [ -f "$PIDFILE" ] && kill -0 $(cat "$PIDFILE"); then   echo 'Job server is already running'   exit 1fi
cmd='$SPARK_HOME/bin/spark-submit --class $MAIN --driver-memory $JOBSERVER_MEMORY  --conf "spark.executor.extraJavaOptions=$LOGGING_OPTS"  --driver-java-options "$GC_OPTS_SERVER $JAVA_OPTS_SERVER $LOGGING_OPTS $CONFIG_OVERRIDES"  $@ $appdir/spark-job-server.jar $conffile'if [ -z "$JOBSERVER_FG" ]; then  eval $cmd > $LOG_DIR/server_start.log 2>&1 < /dev/null &  echo $! > $PIDFILEelse  eval $cmdfi

可以看到熟悉的spark-submit,入口函数就是spark.jobserver.JobServer的main函数,浪尖就不在这里展开了。

spark jobserver的大致架构如下图所示,大家也可以参照下图所示的思路提示去阅读,球友的话也可以去星球里找寻我周么发出来的提示。

spark jobserver源码的示例分析

以上是“spark jobserver源码的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/225713.html

(0)
上一篇 2022年1月8日
下一篇 2022年1月8日

相关推荐

发表回复

登录后才能评论