Hadoop MR1和MR2共存

时间:2012-11-24 15:04:19

标签: hadoop mapreduce yarn

是否可以在同一个集群中同时运行Hadoop MR1和MR2(至少在理论上)?

如果是,我该怎么做?

5 个答案:

答案 0 :(得分:4)

理论上,你可以这样做:

  • 在一台计算机上运行DataNode TaskTracker和NodeManager
  • 在其他计算机上运行NameNode SecondaryNameNode和ResourceManager
  • 具有不同端口的所有进程

但是,不建议这样做,请参阅cloudera blog

  

“确保您没有尝试同时在同一组节点上运行MRv1和YARN。这不受支持;它会降低性能并可能导致群集部署不稳定。”

答案 1 :(得分:0)

理论上,是的。

  1. 将tarball解压缩到两个不同用户拥有的不同位置。

  2. 在两者中,将所有与mapred / yarn相关的端口更改为互斥集。

  3. 仅从其中一个位置运行datanode。

  4. 在两个位置启动与地图相关/纱线相关的守护进程

  5. 如果有效,请在此处发布。

答案 2 :(得分:0)

对于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>

答案 3 :(得分:0)

对于Mapr而言,这不仅仅是一种理论而是一种实践,请查看link

答案 4 :(得分:0)

您不需要同时运行两者,只需运行Hadoop 2.0,它就可以完全向后兼容为Hadoop 1.0编写的MapReduce应用程序。 API中的细微更改很少,请查看link以检查是否有任何更改会影响您的应用。