Spark jobServer搭建+提交作业执行
来源:互联网 发布:安卓模拟器for mac版 编辑:程序博客网 时间:2024/05/29 02:07
安装scala
根据spark版本,在官网下载对应的unix版tar文件
配置环境变量
export PATH="$PATH:/usr/scala-2.10.6/bin"
立即生效命令
source /etc/profile
部署sbt
配置环境变量
export PATH="$PATH:/usr/sbt/"
建立启动sbt的脚本文件
在sbt目录下,创建sbt文件
#!/bin/bashSBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"java $SBT_OPTS -jar /usr/sbt/bin/sbt-launch.jar "$@"
查看sbt版本,第一次启动会自动下载文件
sbt sbt-version
搭建jobServer
在github上下载对应spark版本的jobServer源码
在config目录下,重命名template(模板)文件,local.conf 和 local.sh
修改local.sh中的配置
(INSTALL_DIR: jobServer安装路径)
bin目录下执行
./server_package.sh local
编译需要较长时间,编译成功后,在生成的job-server目录下启动
./server_start.sh
在8090端口查看
打包wordcount并提交执行
在源码目录下,打包job-server-tests
sbt job-server-tests/package
上传jar包,作为一个app,名为test
curl --data-binary @/usr/spark-jobserver-0.6.2/job-server-tests/target/scala-2.10/job-server-tests_2.10-0.6.2.jar master:8090/jars/test
临时context方式(作业执行完成后删除context)
异步方式提交任务
jobserver会创建自己的SparkContext,会返回一个jobID供随后的查询
# curl -d "input.string = a b c a b see" 'localhost:8090/jobs?appName=test&classPath=spark.jobserver.WordCountExample'{ "status": "STARTED", "result": { "jobId": "2e943174-63e3-41f2-bf4e-e56ff85169a9", "context": "6d262fce-spark.jobserver.WordCountExample" }}
通过jobid查询结果
# curl master:8090/jobs/2e943174-63e3-41f2-bf4e-e56ff85169a9{ "duration": "0.278 secs", "classPath": "spark.jobserver.WordCountExample", "startTime": "2017-07-19T01:05:12.863-04:00", "context": "6d262fce-spark.jobserver.WordCountExample", "result": { "a": 2, "b": 2, "see": 1, "c": 1 }, "status": "FINISHED", "jobId": "2e943174-63e3-41f2-bf4e-e56ff85169a9"}
同步方式提交任务(添加sync参数,值为true)
curl -d "input.string = a b c a b see" 'master:8090/jobs?appName=test&classPath=spark.jobserver.WordCountExample&sync=true'
{ "result": { "a": 2, "b": 2, "see": 1, "c": 1 }}
常驻context方式
创建一个常驻context,集群为其分配资源,一直处于运行状态(jobserver重启会终止context,释放资源)
curl -d "" 'master:8090/contexts/test-context?num-cpu-cores=4&memory-per-node=512m'
在context中执行任务(同步)
curl -d "input.string = a b c a b see" "localhost:8090/jobs?appName=test&classPath=spark.jobserver.WordCountExample&context=test-context&sync=true"
阅读全文
1 0
- Spark jobServer搭建+提交作业执行
- 简单Spark作业编写与提交执行
- Spark作业提交执行流程源码图
- Spark JobServer 安装使用
- spark-jobserver使用笔记
- Spark JobServer简介
- 提交spark作业:如何在java中执行shell脚本
- Spark作业执行流程
- Spark作业执行原理
- Spark作业执行原理
- 安装与使用 Spark-jobServer
- spark源码研究---作业提交
- 提交spark sample作业失败
- eclipse java spark作业提交
- Spark提交作业运行过程
- spark的作业提交流程
- Spark作业的Stage划分,Task创建分发一直到提交给Spark的Executor的线程池执行全过程
- hadoop2 作业执行过程之作业提交
- Pythonsocket上传和下载文件
- Python第三方库的安装及测试
- c语言i++和++i和左值的问题
- mybatis进阶(7)--查询缓存之一级缓存
- 微信支付逻辑图
- Spark jobServer搭建+提交作业执行
- redis-skipList 源码解析
- linux 下 vim编辑器插件安装 方便python脚本编写
- 大数据的核心:数据挖掘
- 向数据库发送sql编码设置
- servlet之session
- JavaWeb第四记《session》相关知识
- iOS 序列化与反序列化(runtime) 02
- UESTC 1705 咸鱼钟大爷 随机化+哈希