Hadoop新手咨询:如何在YARN/YARN Simulator运行Google集群Trace?
嘿,作为刚接触Hadoop这类大数据工具的新手,你想在YARN或者YARN Simulator上跑公开的Google集群Trace的思路完全没问题——Gridmix确实是官方推荐的实现路径,我来帮你把整个流程拆解开,一步步捋清楚:
核心流程链路
先明确整个流程的关键节点:
Google集群Trace → 转换为Rumen可识别的JobHistory日志格式 → 用Rumen生成Gridmix所需的输入文件 → 通过Gridmix在YARN上重放工作负载
1. 转换Google集群Trace为JobHistory格式
Google的集群Trace是自有格式,而Rumen只认Hadoop MapReduce生成的JobHistory日志(通常是.jhist后缀的文件)。所以第一步得做格式转换,这里有两个可行方向:
- 自行编写转换脚本:解析Google Trace里的任务元数据(比如提交时间、CPU/内存需求、运行时长、依赖关系等),然后按照Hadoop JobHistory的规范生成对应的日志文件。
- 借助社区开源工具:有些开发者已经做过类似的转换工作,你可以搜索针对Google Cluster Data转JobHistory的开源项目,注意要匹配你用的Hadoop 2.8.3版本,避免兼容性问题。
2. 用Rumen生成Gridmix输入
拿到符合要求的JobHistory日志后,就可以用Rumen来处理了。Rumen的作用是分析JobHistory日志,提炼出Gridmix需要的工作负载描述和模拟数据:
- 运行Rumen的基础命令如下:
执行后,输出目录里会生成hadoop jar hadoop-rumen-2.8.3.jar org.apache.hadoop.tools.rumen.JobHistoryParser <job-history日志目录> <输出目录>jobtrace.json等Gridmix依赖的核心文件。
3. 通过Gridmix在YARN上重放Trace
这一步就是把前面准备好的输入喂给Gridmix,在YARN(或Simulator)上模拟运行Trace里的工作负载:
- 先确保YARN集群(或YARN Simulator)已经正常启动并配置好;
- 运行Gridmix的基础命令示例:
具体参数可以参考你提到的Gridmix官方文档来调整,比如hadoop jar hadoop-gridmix-2.8.3.jar gridmix \ -Dgridmix.input.dir=<Rumen输出目录> \ -Dgridmix.output.dir=<Gridmix结果输出目录> \ -Dgridmix.run.mode=PULL \ <YARN ResourceManager地址>run.mode还有PUSH等模式可选,对应不同的工作负载推送方式。
YARN Simulator的额外提示
如果用YARN Simulator的话,不需要搭建真实集群,只需要配置好Hadoop环境变量,然后在启动Gridmix时指定Simulator的相关参数即可——通常可以通过配置文件开启Simulator模式,或者直接指定Simulator的ResourceManager地址。
内容的提问来源于stack exchange,提问作者PHcoDer
相关产品推荐
相关产品推荐

