设为首页 收藏本站
查看: 848|回复: 0

[经验分享] Hadoop监控分析工具Dr.Elephant

[复制链接]

尚未签到

发表于 2018-10-29 10:06:47 | 显示全部楼层 |阅读模式
  公司基础架构这边想提取慢作业和获悉资源浪费的情况,所以装个dr elephant看看。LinkIn开源的系统,可以对基于yarn的mr和spark作业进行性能分析和调优建议。
  DRE大部分基于java开发,spark监控部分使用scala开发,使用play堆栈式框架。这是一个类似Python里面Django的框架,基于java?scala?没太细了解,直接下来就能用,需要java1.8以上。
  prerequest list:
  Java 1.8
  PlayFramework+activator
  Nodejs+npm
  scala+sbt
  编译服务器是设立在美国硅谷的某云主机,之前为了bigtop已经装好了java,maven,ant,scala,sbt等编译工具,所以下载activator解压放到/usr/local并加入PATH即可。
  然后从 github clone一份dr-elephant下来,打开compile.conf,修改hadoop和spark版本为当前使用版本,:wq保存退出,运行compile.sh进行编译,经过短暂的等待之后,因为美国服务器,下依赖快。会有个dist文件夹,里面会打包一个dr-elephant-2.0.x.zip,拷出来解压缩就可以用了。
  DRE本身需要mysql 5.5以上支持,或者mariadb最新的10.1稳定版本亦可。这里会有一个问题,就是在DRE/conf/evolutions/default/1.sql里面的这三行:
create index yarn_app_result_i4 on yarn_app_result (flow_exec_id);  
create index yarn_app_result_i5 on yarn_app_result (job_def_id);
  
create index yarn_app_result_i6 on yarn_app_result (flow_def_id);
  由于在某些数据库情况下,索引长度会超过数据库本身的限制,所以,需要修改索引长度来避免无法启动的情况发生。
create index yarn_app_result_i4 on yarn_app_result (flow_exec_id(150));  
create index yarn_app_result_i5 on yarn_app_result (job_def_id(150));
  
create index yarn_app_result_i6 on yarn_app_result (flow_def_id(150));
  然后就应该没啥问题了。
  到数据库里创建一个叫drelephant的数据库,并给出相关访问权限用户
  接下来是需要配置DRE:
  打开app-conf/elephant.conf
# Play application server port  
# 启动dre后play框架监听的web端口
  
port=8080
  
# Database configuration
  
# 数据库主机,用户名密码库名
  
db_url=localhost
  
db_name=drelephant
  
db_user="root"
  
db_password=
  其他默认即可,不需更改
  然后是GeneralConf.xml
  
  
  
    drelephant.analysis.thread.count
  
    3
  
    Number of threads to analyze the completed jobs
  
  
  
  
  
    drelephant.analysis.fetch.interval
  
    60000
  
    Interval between fetches in milliseconds
  
  
  
  
  
    drelephant.analysis.retry.interval
  
    60000
  
    Interval between retries in milliseconds
  
  
  
  
  
    drelephant.application.search.match.partial
  
    true
  
    If this property is "false", search will only make exact matches
  
  
  

  修改drelephant.analysis.thread.count,默认是3,建议修改到10,3的话从jobhistoryserver读取的速度太慢,高于10的话又读取的太快,会对jobhistoryserver造成很大压力。下面两个一个是读取的时间周期,一个是重试读取的间隔时间周期。
  然后到bin下执行start.sh启动。And then, show smile to the yellow elephant。
  装完看了一下这个东西,其实本身原理并不复杂,就是读取各种jmx,metrics,日志信息,自己写一个也不是没有可能。功能主要是把作业信息里的内容汇总放到一屏里面显示,省的在JHS的页面里一个一个点了。
DSC0000.png

DSC0001.png

  That's it, so easy



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-627850-1-1.html 上篇帖子: Hadoop学习--Mapper Reduce--day08 下篇帖子: 《写给大忙人的Hadoop 》读书笔记(二)Hadoop介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表