Hadoop监控分析工具Dr.Elephant

  

公司基础架构这边想提取慢作业和获悉资源浪费的情况,所以装个大象看博士看.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监控分析工具。象


 Hadoop监控分析工具。象

Hadoop监控分析工具Dr.Elephant