是否可以在同一个集群中同时运行 Hadoop MR1 和 MR2(至少在理论上)?
如果是,我该怎么做?
理论上,您可以这样做:
但是,不建议这样做,请参阅cloudera 博客:
“确保您没有尝试在同一组节点上同时运行 MRv1 和 YARN。这是不支持的;它会降低性能并可能导致集群部署不稳定。”
理论上,是的。
将 tarball 解压到 2 个不同的位置,由不同的用户拥有。
在它们中,将所有与 mapred/yarn 相关的端口更改为互斥集。
仅从其中一个位置运行数据节点。
在两个位置启动 mapred/yarn 相关的守护进程
如果有效,请在此处发布。
对于 MR1 和 MR2,dfs name dir 和 data dir 也应该不同。
<property>
<name>dfs.name.dir</name>
<value>/home/userx/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/userx/hdfs/data</value>
</property>
您不需要同时运行两者,只需运行 Hadoop 2.0,它为为 Hadoop 1.0 编写的 MapReduce 应用程序提供完全的向后兼容性。API 有一些小的更改,请查看链接以检查任何更改是否会影响您的应用程序。
对于 Mapr 来说,这不仅是理论,而且是实践,请查看此链接。