溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

spark jobserver源碼的示例分析

發(fā)布時(shí)間:2021-12-16 11:35:51 來源:億速云 閱讀:156 作者:小新 欄目:大數(shù)據(jù)

小編給大家分享一下spark jobserver源碼的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

spark jobserver的特征:

1.“Spark as Service”:針對(duì)job和contexts的各個(gè)方面提供了REST風(fēng)格的api接口進(jìn)行管理2. 支持SparkSQL、Hive、StreamingContext/jobs以及定制job contexts!3. 通過集成 Apache Shiro 來支持 LDAP 權(quán)限驗(yàn)證4. 為了隔離每個(gè)sparkcontext單獨(dú)一個(gè)jvm5. 通過長期運(yùn)行的job contexts支持亞秒級(jí)別低延遲的任務(wù)6. 可以通過結(jié)束 context 來停止運(yùn)行的作業(yè)(job)7. 分割 jar 上傳步驟以提高 job 的啟動(dòng)速度8. 異步和同步的 job API,其中同步 API 對(duì)低延時(shí)作業(yè)非常有效9. 支持Standalone Spark和Mesos、yarn10. Job和jar信息通過一個(gè)可插拔的DAO接口來持久化11. 對(duì)RDD或DataFrame對(duì)象命名并緩存,通過該名稱獲取RDD或DataFrame。這樣可以提高對(duì)象在作業(yè)間的共享和重用

建議大家可以從Spark jobserver的bin目錄下手,比如server_start.sh腳本,該腳本本身就是一個(gè)spark 任務(wù)提交腳本比較好的范例。

#!/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,入口函數(shù)就是spark.jobserver.JobServer的main函數(shù),浪尖就不在這里展開了。

spark jobserver的大致架構(gòu)如下圖所示,大家也可以參照下圖所示的思路提示去閱讀,球友的話也可以去星球里找尋我周么發(fā)出來的提示。

spark jobserver源碼的示例分析

以上是“spark jobserver源碼的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI