YARN中实现了多个状态机对象,包括ResourceManager中的RMAppImpl、RMApp-AttemptImpl、RMContainerImpl和RMNodeImpl,NodeManager中的ApplicationImpl、ContainerImpl和LocalizedResource,MRAppMaster中的JobImpl、TaskImpl和TaskAttemptImpl等。为了便于用户查看这些状态机的状态变化以及相关事件,YARN提供了一个状态机可视化工具,具体操作步骤如下。
步骤1 将状态机转化为graphviz(.gv)格式的文件,在源代码根目录下执行编译命令如下:
mvn compile -Pvisualize
经过该步骤后,本地目录中生成了ResourceManager.gv、NodeManager.gv和MapReduce.gv三个graphviz格式的文件。 NodeManager.gv文件中LocalizedResource状态机部分内容如下:subgraph cluster_LocalizedResource {
label="LocalizedResource"
"Lo