spark任务进度实时更新与聚合

来源:互联网 发布:淘宝单怎么刷在哪里刷 编辑:程序博客网 时间:2024/06/08 23:19

新博客文章地址

spree

这里写图片描述

spree从spark web ui中获取正在运行的任务状态,从history server中获取已经运行结束的状态信息并将这些数据写入MongoDB,可以实现动态任务更新。

因为把运行日志进行了聚合,所以查看线上正在运行的任务也不再需要ssh端口转发,只要把该页面配置个代理就OK了

spree安装部署

环境

已安装git,npm

安装Spree

git clone --recursive https://github.com/hammerlab/spree.gitcd spree/ui   # the Spree Meteor app lives in ui/ in this repo.meteor        # 安装meteor后运行

开启后可以访问http://localhost:3000

这里写图片描述

安装Meteor

将会被安装在~/.meteor

启动脚本在/usr/local/bin/meteor,因此可以直接输入meteor使用

curl https://install.meteor.com/ | sh

安装slim

启动脚本在/usr/bin/slim

npm install -g slim.jsslim

如果在启动meteor前启动slim,则会报错,因为连不到mongoDB:

/usr/local/lib/node_modules/slim.js/node_modules/mongodb/lib/server.js:228        process.nextTick(function() { throw err; })                                      ^AssertionError: null == { [MongoError: connect ECONNREFUSED 127.0.0.1:3001]  name: 'MongoError',  message: 'connect ECONNREFUSED 127.0.0.1:3001' }

使用spree

spark1.5以上版本可以使用packages(需要网络)

spark-shell/spark-submit --packages org.hammerlab:spark-json-relay:2.0.0 --conf spark.extraListeners=org.apache.spark.JsonRelay --conf spark.slim.host=xxx  #启动slim的节点,默认为localhost

通用版本

获取JsonRelay

wget https://repo1.maven.org/maven2/org/hammerlab/spark-json-relay/2.0.0/spark-json-relay-2.0.0.jar

JsonRelay加入driver的classpath(或是加入spark-env.sh)的class-path中

--driver-class-path /path/to/spark-json-relay-2.0.0.jar

运行时提交参数

spark-shell/spark-submit --jars /usr/install/spark/lib/spark-json-relay-2.0.0.jar --conf spark.extraListeners=org.apache.spark.JsonRelay--conf spark.slim.host=192.168.47.214

通用参数

加入jar包,将JsonRelay注册成SparkListener

--jars /path/to/spark-json-relay-2.0.0.jar--conf spark.extraListeners=org.apache.spark.JsonRelay

指向启动slim的实例; 默认为: localhost:8123

--conf spark.slim.host=…--conf spark.slim.port=…

运行效果

更多运行截图

项目地址

0 0
原创粉丝点击