公司基础架构这边想提取慢作业和获悉资源浪费的情况,所以装个大象看博士看.LinkIn开源的系统,可以对基于纱线的先生和火花作业进行性能分析和调优建议。
DRE大部分基于java开发,火花监控部分使用scala开发,使用玩堆栈式框架。这是一个类似Python里面Django的框架,基于java ? scala ?没太细了解,直接下来就能用,需要java1.8以上。
prerequest列表:java 1.8
PlayFramework +激活
Nodejs + npm scala + sbt
编译服务器是设立在美国硅谷的某云主机,之前为了bigtop已经装好了java, maven,蚂蚁,scala, sbt等编译工具,所以下载催化剂解压放到/usr/当地并加入路径即可。
然后从,github克隆一份dr-elephant下来,打开compile.conf,修改hadoop和火花版本为当前使用版本,:wq保存退出,运行compile.sh进行编译,经过短暂的等待之后,因为美国服务器,下依赖快。会有个dist文件夹,里面会打包一个dr-elephant-2.0.x。邮政,拷出来解压缩就可以用了。
DRE本身需要mysql 5.5以上支持,或者mariadb最新10.1的稳定版本亦可。这里会有一个问题,就是在DRE/conf/演进/违约/1。sql里面的这三行:
create index yarn_app_result_i4 提醒yarn_app_result (flow_exec_id); create index  yarn_app_result_i5 提醒yarn_app_result (job_def_id); create index  yarn_app_result_i6 提醒yarn_app_result (flow_def_id);
由于在某些数据库情况下,索引长度会超过数据库本身的限制,所以,需要修改索引长度来避免无法启动的情况发生。
create index yarn_app_result_i4 提醒yarn_app_result (flow_exec_id (150); create index  yarn_app_result_i5 提醒yarn_app_result (job_def_id (150); create index  yarn_app_result_i6 提醒yarn_app_result (flow_def_id (150),
然后就应该没啥问题了。
到数据库里创建一个叫drelephant的数据库,并给出相关访问权限用户
接下来是需要配置DRE:
打开app-conf/大象。参看
其他默认即可,不需更改
然后是GeneralConf。xml
& lt; configuration> & lt;才能property> ,,,& lt; name> drelephant.analysis.thread.count ,,,& lt; value> 3 & lt;/value> ,,,& lt; description> Number of threads 用analyze 从而completed jobs & lt;才能/property> & lt;才能property> ,,,& lt; name> drelephant.analysis.fetch.interval ,,,& lt; value> 60000 & lt;/value> ,,,& lt; description> Interval 结构;fetches milliseconds<拷贝/description> & lt;才能/property> & lt;才能property> ,,,& lt; name> drelephant.analysis.retry.interval ,,,& lt; value> 60000 & lt;/value> ,,,& lt; description> Interval 结构;retries milliseconds<拷贝/description> & lt;才能/property> & lt;才能property> ,,,& lt; name> drelephant.application.search.match.partial ,,,& lt; value> true ,,,& lt; description> If 却;能够property is “false”,, search will only make exact matches & lt;才能/property> & lt;/configuration>修改drelephant.analysis.thread。统计,默认是3,建议修改到10,3的话从jobhistoryserver读取的速度太慢,高于10的话又读取的太快,会对jobhistoryserver造成很大压力。下面两个一个是读取的时间周期,一个是重试读取的间隔时间周期。
然后到本下执行开始。上海启动,然后,微笑到黄色的大象。
装完看了一下这个东西,其实本身原理并不复杂,就是读取各种jmx,度量,日志信息,自己写一个也不是没有可能。功能主要是把作业信息里的内容汇总放到一屏里面显示,省的在JHS的页面里一个一个点了。
Hadoop监控分析工具Dr.Elephant