您的位置:首页 > 其它

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

2015-12-15 13:05 323 查看

新博客文章地址

spree



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

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

spree安装部署

环境

已安装
git
,
npm


安装
Spree

git clone --recursive https://github.com/hammerlab/spree.git cd 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.js
slim


如果在启动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=…


运行效果

更多运行截图

项目地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: