- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 Java Attach机制简介
文章目录一、利用Attach机制实现一个简单的Jstack二、Attach实现原理Attach Listener线程的启动1. 启动的时候通过jvm参数指定启动该线程。2. attach目标JVM成功后,目标JVM启动该线程。Attach Listener线程工作原理参考资料在JVM运行时,我们经常需要获取目标JVM运行时的相关信息。最典型的一个场景就是通过jstack命令输出当前的线程dump...
2019-03-09 09:43:09 10526 1
原创 写博客一年多的一些感想
今天闲来无事翻了下自己的往期博客,发现从去年3月起至今日,我已经坚持写了1年多的博客。这一年平均下来一个月也有4、5篇,不禁颇有感触。刚毕业的时候,有写过几篇很水的博客,都还留在CSDN上,虽然质量不怎么样,但作为早年的回忆,也没把那些博客删掉。正如那几年的博客数量所映射的,在毕业的这2、3年里,感觉自己进步很小,虽然也有在学习,但学习速度很慢,并没有得到突破性的成长。所幸去年因为要跳槽开始醒悟...
2019-03-23 20:25:18 661
原创 yarn ResourceManager Active频繁易主问题排查
文章目录一、故障现象二、问题分析RM的HA机制分析ZK问题分析部分任务状态更新失败问题分析三、解决和优化方案1. 调大 jute.maxbuffer 参数2. 修改yarn的源码3. 快速让集群恢复稳定的方法四、总结本周三公司的yarn集群出现故障,导致两台ResourceManger频繁易主,并且许多提交到集群的任务状态为NEW_SAVING,无法执行。这里对此次的故障排查进行一个总结。一、...
2019-03-23 11:44:37 2358 5
原创 不要替换运行中JVM的相关jar包
文章目录具体场景具体原因探索总结在java程序运行时,如果替换classpath下的某个jar包文件,可能会导致程序出现ClassNotFoundException**。具体场景我们要升级线上服务时,可能经常只需要替换其中一两个jar包即可完成升级。有时我们为了方便,经常会先替换完jar包再进行重启。其实这样的做法会有一个隐患,如果在你重启之前程序需要从这个jar包加载某个类的话,即使这个类...
2019-03-22 22:52:37 4217
原创 Java JVMTI和Instrumention机制介绍
文章目录1、JVMTI 介绍1.1 Agent的工作形式1.2 JDPA 相关介绍2、Instrumention 机制2.1 Instrumention支持的功能2.2 基于Instrumention开发一个Agent2.2.1 编写premain函数2.2.2 打成jar包2.2.3 编写测试类2.3 如何在运行时加载agent3、参考资料1、JVMTI 介绍JVMTI(JVM Tool I...
2019-03-09 16:17:35 3125
原创 Spark History Server 架构原理介绍
文章目录一、eventLog日志文件以及相关参数eventLog日志文件介绍相关配置参数二、两个定时任务解析eventLog日志文件线程清理过期的eventLog日志文件的线程三、History Server的架构缓存机制四、一些潜在的问题1. spark.history.retainedApplications 设置太大导致的OOM问题2. eventLog 日志文件过大导致的OOM问题3. H...
2019-03-08 14:02:44 4434
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人