| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Java jmx学习---Hive metric -> 正文阅读 |
|
[大数据]Java jmx学习---Hive metric |
1、问题 最近接到一个新需求,要求监控hive服务。监控这里,目前已知的大数据平台组件比如FusionInsight、CDH对服务的监控做的就很好,无奈,我司的产品属于小本经营,自己从apache里面拿来hive源码,然后直接改点配置文件,就准备上线。只是突然发现hive的监控还没有,目前只能调用hive 监控webui来监控,访问hive的jmx接口来做。但是我们自身还是想对hive的jmx进行一个包装,嵌入到自己的系统中。这里对新增了需求,要求对hive metric进行一番了解。 2、hive metric体系 源码所在位置: metric的核心类为:CodahaleMetrics,依赖的是第三方度量库。该库的详细功能可以参考下文: https://blog.csdn.net/houzhizhen/article/details/71540496 对于hive metric的源码解释可以看下面的博客: https://blog.csdn.net/dabokele/article/details/84449789 3、疑问: 阅读上述博客以及相关源码后,可以知道hive metric的reporter有两种方式:json和jmx 在web界面可以通过访问http://hiveserver2Ip:10002/jmx就可以获取一个json结果。 这个json结果的实现类为:JMXJsonServlet,这个servlet只是tomcat中的servlet,用于实现http请求的处理,json结果的返回。但是并没有显示的看到CodahaleMetrics的调用。 不过,最后还是发现了一些蛛丝马迹,这里就需要对jmx的原理有一定的了解: 4、jmx基本原理 这里上个图,也是借鉴别人的博客,链接找不到了,如介意,我立马删掉,要发扬这种分享精神! ?一句话总结: (1)java进程中需要启动MBeanServer,mbean需要注册在mbs中,每个mbs可以使用http协议、rmi协议进行访问,其实说到底都是对socket编程的一种封装 (2)java服务的业务server也是对socket编程的一种封装。 5、继续 回到上文中的问题JMXJsonServlet和CodahaleMetrics是怎么关联上的? 这里有个核心代码: MBeanServer的初始化: JMXJsonServlet类 使用ManagementFactory.getPlatformMBeanServer()来初始化,通过该方法获取的MBeanServer这个对象是一个单例
?CodahaleMetrics类中也使用了使用ManagementFactory.getPlatformMBeanServer()来初始化
目前只是发现了这样的关系,但是CodahaleMetrics类的比较庞大,目前还没有了解到它是具体如何使用的。后续继续补充 ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 16:27:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |