如何在Mesos集群上运行Hadoop?

时间:2013-11-12 21:03:23

标签: hadoop mesos

我正在尝试建立Apache Mesos群集并在其上运行Hadoop-Job。文档here不属于我的水平,所以我无法理解,也许这里有人可以解释我:

首先我应该建立一个有效的Hadoop集群吗?或者首先建立一个Mesos集群? 我在哪里指向奴隶?在Hadoop-slaves文件中或只应使用注册的Mesos从属文件?

2 个答案:

答案 0 :(得分:10)

Mesos的目标是为您的集群运行抽象,其中Hadoop只是其中一项服务。为了实现这一点,您需要首先将Mesos集群设置为主要组件,然后您可以使用Mesos抽象开始向此集群添加Hadoop等服务。

来自Mesosphere的an excellent tutorial你应该看一下,它详细解释了如何在Mesos之上运行Hadoop,所以这将是一个很好的起点。

或者,该公司最近开始为Elastic Mesos提供服务,其性质与亚马逊的Elastic MapReduce相似。因此,如果你想在Mesos上快速使用Hadoop而不必经历配置所有内容的痛苦,那么这是一个很好的起点。

答案 1 :(得分:3)

一旦你有一个mesos集群设置并运行,以便在Mesos WebUI中显示奴隶,你可以通过执行以下步骤为其添加hadoop:

  1. 首先,您必须设置HDFS。 Cloudera的hadoop发布是一种简单的方法。只需按照此link上的说明进行设置即可。这将自动为您设置用户帐户以运行MapReduce作业
  2. 您只需要在主服务器上运行一个名称节点,并在您的主服务器上运行datanode。导航到 localhost:50070 将显示namenode已启动并正在运行,并且还将显示正在运行的datanode列表。你现在不需要tasktrackers或jobtracker
  3. 接下来要在mesos上集成hadoop,请转到此github repository。在PC上克隆并按照自述文件
  4. 上的说明操作
  5. 此时您将在主人身上运行一个职业追踪者。导航到 localhost:50030 以查看jobtracker是否正在运行。你的奴隶不需要任务工具。 Mesos将使用您上传到HDFS的tar文件自动为您启动它们

    如果您有任何疑问,也可以参考Mesosphere教程。只是不要遵循那里的所有步骤,因为它们不适用于最新的Mesos版本。