项目背景 公司的spark集群是CDH,暂时不能良好的支持spark2.2的streaming,所以考虑自己写一个监控程序。 至于为什么要起这样一个名字,一方面公司的项目大多以狗狗的名字命名,另外,自己还养了一只小泰迪(名字叫做 三月),希望自己也能用心的对待这个项目。
- Streaming任务部署
- 任务监控与告警
- 任务自启动
- (new)任务资源自定义配置
- (new)Spark Streaming代码零侵入
前提:
- 部署web服务的机器上需要有spark(否则无法提交任务)
- 部署web服务的机器上需要能使用app命令操作yarn(否则无法手动停止任务)
###########
# 环境配置 #
###########
# 本地spark的安装目录
spark.home=/var/lib/hadoop-hdfs/app/spark
# 本地资源的上传目录
lib.home=/home/xinghailong/monitor/lib/
# spark任务重定向日志文件,如果不嫌弃,可以直接重定向到日志文件
log.file=/home/xinghailong/monitor2/teddy/logs/teddy.log
# yarn的连接地址,用于Http方式查询spark任务的状态
yarn.cluster=hnode1:8088,hnode2:8088
# 邮件配置
mail.host=smtp.mxhichina.com
mail.from=report@abc.com
mail.passwd=123
###########
# 性能配置 #
###########
# 告警时间配置,秒单位,默认一分钟
# 注意:如果告警时间很短,小心邮件爆炸!
alert.interval=60
# 状态刷新时间配置,秒单位,默认5秒钟
state.refresh.interval=5
# 自动重启间隔时间,3分钟
# 注意:如果自定重启时间很短,可能会导致任务的重复启动
auto.restart.interval=180
# 尝试重启的次数
auto.restart.retries=3
下载代码后执行mvn install,即可编译打包项目工程。如果不想编译,也可以直接下载下面的版本:
待补充
编译后,在target目录下,可以找到对应的teddy-release压缩包。 目前仅支持Linux系统,修改相应的环境配置,启动即可。