由于在windows下面,配置好所有 编译hadoop2.4.1源码 的环境会很麻烦,好在我之前已经把hadoop2.4.1的源码成功导入eclipse,并解决了所有错误提示,所以我就可以在eclipse里面直接运行源码生成XX.gv,然后转成png图片。

(hadoop 导入eclipse请看里面的building.txt文件,和我另外一篇文章)

前提:hadoop源码已经导入eclipse,而且没什么错误。有一份同版本的hadoop二进制包。

步骤:

1、hadoop-yarn-common工程:导入hadoop2.4.1/share/hadoop/yarn 下面的有关server的几个包。

2、找出 VisualizeStateMachine 这个类

3、修改它的运行配置:

运行参数:

RM
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
RMAll.gv

还有NM的:

NM
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
NMAll.gv

4、执行,会生成RMAll.gv和NMAll.gv文件

5、下载graphviz,解压,把bin目录放到环境变量,执行:

dot -Tpng NodeManager.gv > NodeManager.png
dot -Tpng ResourceManager.gv >ResourceManager.png

OK!!

参考这份issue:MAPREDUCE-2930:Generate state graph from the State Machine Definition

网上的其他方法:

在Hadoop2.0系列的版本里,采用了状态机的方式处理ResourceManager,NodeManager,MapReduce中状态的变迁。那如何生成相应的状态机图呢?其实社区已经为我们提供了生成状态机图的方法,具体的命令如下:
1. 在Hadoop目录下运行 mvn compile -Pvisualize, 在当前目录下生成多个.gv文件。
2. 安装graphviz,sudo apt-get/yum install graphviz (ubuntu下),然后执行:
   dot -Tpng NodeManager.gv > NodeManager.png
   dot -Tpng ResourceManager.gv >ResourceManager.png
   dot -Tpng MapReduce.gv > MapReduce.png
这样相应的状态机图即生成了。
 
自行选择吧

YARN 状态机可视化,生成状态机图的更多相关文章

  1. Yarn中如何生成状态机图

    原文 http://xiguada.org/yarn_state_picture/ 在Hadoop2.0系列的版本里,采用了状态机的方式处理ResourceManager,NodeManager,Ma ...

  2. Hello Ragel -- 生成状态机的神器

    Ragel 是个很 NB 的能生成状态机的编译器,而且支持一堆语言:C.C++.Object-C.C#.D.Java.Go 以及 Ruby. 原来的文本解析器是用正则表达式实现的,随着状态(if-el ...

  3. [NM 状态机2] Container状态机详解

    概述 前面已经分析了RM的状态机,接下来将分析NM的状态机,NM状态机包括Container,Application,LocalizedResource三个,其中Container相对较复杂.现在我们 ...

  4. eclipse下生成Java类图和时序图,生成UML图

    1.安装和使用AmaterasUML 安装AmaterasUML前,需要先安装GEF采用eclipse在线安装方式安装就好.eclipse在线安装GEF的地址:http://download.ecli ...

  5. [NM 状态机1] Application状态机详解

    概述 前面已经分析了RM的状态机,接下来将分析NM的状态机,NM状态机包括Container,Application,LocalizedResource三个.首先我们分析Application的状态机 ...

  6. Python - 使用pycallgraph生成函数关系图

    1- pycallgraph简介 可用于创建python函数关系图,依赖于dot命令,需要先安装 graphviz: HomePage:http://pycallgraph.slowchop.com/ ...

  7. chart.js插件生成折线图时数据普遍较大时Y轴数据不从0开始的解决办法[bubuko.com]

    chart.js插件生成折线图时数据普遍较大时Y轴数据不从0开始的解决办法,原文:http://bubuko.com/infodetail-328671.html 默认情况下如下图 Y轴并不是从0开始 ...

  8. 添加ModelGoon插件Eclipse自动生成UML图

    下载ModelGoonjar包 http://download.csdn.net/detail/u011070297/8366021 下载完该jar之后,直接拷贝到Eclipse安装目录下的dropi ...

  9. Eclipse自动生成UML图(转载)

    *ModelGoon是什么? 它是一个Eclipse插件,用于基于UML图的模型设计,以及逆向工程(即从已有源代码生成类图等,以作为代码分析或者文档使用). *适用条件 ModelGoon目前最新的版 ...

随机推荐

  1. 关于UIImageView缓存加载的笔记

    加载图片的两个方法: [UIImage imageNamed:] [[UIImage alloc] initWithContentsOfFile: imgpath] [UIImage imageNam ...

  2. ceph 接入OpenStack

    创建对应的pool: ceph osd pool create volumes 512 ceph osd pool create images 512 ceph osd pool create vms ...

  3. 《AlwaysRun!》第七次作业:团队项目设计完善&编码

    项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwnu-daizh/   这个作业的要求在哪里 https://www.cnblogs.com/nwnu-da ...

  4. mysql 两张表字段模糊匹配--字符串拼接函数

    concat(A,B,C,...)  拼接字符串 例如concat('123','***','345')  =>123***345 SELECT concat( substr(t1.CODE, ...

  5. HihoCoder1236 Scores

    Scores 求五维偏序(≤).强制在线. \(n,q\le 50000\) 烂大街的题解 考虑如果我们能用bitset找到每一维有哪些比询问点小,然后把每一维的结果取交集,得到的就是答案了. 然后对 ...

  6. .net框架-队列(Queue)

    队列(Queue) 队列代表一个先进先出的集合 队列元素为Object类型 .net框架提供Queue<T>泛型队列类 入队(Enqueue)和出队(Dequeue)是对列的基本操作,入队 ...

  7. java 获取某年某月最后一天

    Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, 2016); calendar.set(Calendar ...

  8. git基础问题

    1).git add 与gitstage的区别 git stage只是git add的同义词,所以在使用上没有区别 i)Git仓库的三个组成部分:工作区(Working Directory).暂存区( ...

  9. epoll版http服务器

    epoll是事件通知方式接收数据,效率比轮询要高 代码: import socket import re import select def client_server(new_client,recv ...

  10. http健康状态检查

    来自为知笔记(Wiz)