Hadoop状态转移图生成
来源:互联网 发布:局域网问卷调查软件 编辑:程序博客网 时间:2024/05/20 09:25
事件驱动和状态转移,在很大程度上保证了大型系统的顺利推进。状态转移有如下好处:
- 状态转移图是可以生成的。在讨论某个功能的时候,可以直接对着图进行讨论
- 某个状态转移图里面,通过加锁、生产者/消费者模式等方法,可以保证一个时间点只有一个状态转移,进而保证状态的正确性
- 在进行UT(单元测试)的时候,只需要对每一条转移路径进行测试就好啦
Hadoop也大量采用了这种方法,如MapReduce的状态转移,NM和RM中资源、任务的管理.
生成方法
hadoop内部的状态转移图,是可以通过程序生成的。方法:使用类VisualizeStateMachine,在运行的时候指定三个参数:图的名字、包含事件转移的类(类之间通过”,”隔开)、生成的文件名(.gv格式),如
$ hadoop org.apache.hadoop.yarn.state.VisualizeStateMachine TaskStateChange org.apache.hadoop.mapreduce.v2.app.job.impl.TaskImpl TaskImpl.gv
生成的图如下
hadoop所有的状态转移图生成方法
mvn命令生成
参考MAPREDUCE-2930
$mvn -Pvisualize compile$dot -Tpng NodeManager.gv > NodeManager.png; dot -Tpng ResourceManager.gv > ResourceManager.png; dot -Tpng MapReduce.gv > MapReduce.png;
通过VisualizeStateMachine生成
hadoop中使用状态转移的大致有三类:MapReduce、NodeManager、ResourceManager,下面将给出生成这三大类转移图的脚本
MapReduce相关
hadoop org.apache.hadoop.yarn.state.VisualizeStateMachine MapReduce org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl,org.apache.hadoop.mapreduce.v2.app.job.impl.TaskImpl,org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl MapReduce.gv
NodeManager相关
hadoop org.apache.hadoop.yarn.state.VisualizeStateMachine NodeManager org.apache.hadoop.yarn.server.nodemanager.containermanager.application.ApplicationImpl,org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerImpl,org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.LocalizedResource NodeManager.gv
ResourceManager相关
hadoop org.apache.hadoop.yarn.state.VisualizeStateMachine ResourceManager org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptImpl,org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImpl,org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainerImpl,org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeImpl ResourceManager.gv
0 0
- Hadoop状态转移图生成
- tcp状态转移图
- tcp状态转移图
- mediaPlayer状态转移图
- 马尔科夫链-状态转移矩阵生成(C#)
- Java线程状态转移图
- 详解TCP状态转移图
- 快速生成树之端口状态转移状态机
- 校oj10532: 生成字符串(dp,最优状态转移)
- [转]TCP状态转移图学习总结
- TCP状态转移图学习总结
- tcp状态转移图学习总结
- TCP状态转移图学习总结 (转)
- [转]TCP状态转移图学习总结
- TCP状态转移图学习总结
- TCP状态转移图学习总结
- TCP状态转移图学习总结
- TCP状态转移图学习总结 (转)
- KVC-键值编码
- linux文件链接
- 二分图
- 字符串(集合)的全排列和子集
- 下载好一个android软件之后,怎样自动提示安装?
- Hadoop状态转移图生成
- Struts2框架_03
- 利用批处理启动cygwin到指定的目录.
- Mac OS X terminal命令收集
- mui update.json 中文乱码
- PHP--导出excel乱码问题的解决方案
- DG日志不应用,GAP,主备切换解决思路与办法
- 我的maven:Unknown lifecycle phase "complile"报错的解决办法
- 【Android】创建Popwindow弹出菜单的两种方式