在非群集计算机上编译Hadoop MapReduce并在Hadoop集群上运行

时间:2016-01-04 21:50:24

标签: java maven hadoop mapreduce cloudera

我已经阅读了很多关于Hadoop的文档和信息,但无法弄清楚如何实现这个简单的工作流程:

  1. 我希望在我的工作机器上使用所有已安装的IDE等使用Hadoop Java API开发和编译 Hadoop MapReduce。
  2. 我想部署并以最简单的方式(最好从IDE)将MapReduce作业运行到Hadoop集群上
  3. 我希望能够这些MapReduce作业集成到外部应用程序中,并能够透明地运行它们。
  4. 看起来所有开发/编译/运行都应该在 MasterNode 上完成,其中存在 bin / hadoop 命令行实用程序和Hadoop库。我是对的吗?

    开发,运行,部署MapReduce应用程序的一般方法是什么?是否有某种maven插件可以将所有Hadoop依赖项集成到您的项目中?

1 个答案:

答案 0 :(得分:1)

  

我想在我的工作机器上使用所有已安装的IDE等开发和编译带有Hadoop Java API的Hadoop MapReduce。

您可以观看此playlist中的视频3,4和5来理解 如何在本地运行map reduce应用程序。

它提供了有关如何开发map reduce的信息 使用STS的应用程序(Spring Tool Suite - 带有弹簧和弹簧的eclipse) maven插件)

如果您使用maven进行eclipse,则只需创建pom文件即可 正确的依赖。

  

我想以最简单的方式部署和运行MapReduce作业到Hadoop集群(从IDE更好)

从IDE运行hadoop map减少群集上的作业非常繁琐。 但是,您可以使用JDBC运行配置单元查询。

  

我希望能够将这些MapReduce作业集成到外部应用程序中,并能够以透明方式运行它们。

您可以运行它与其他应用程序集成,但该节点具有 有hadoop二进制文件。

  

看起来所有开发/编译/运行都应该在MasterNode上完成,其中存在bin / hadoop命令行实用程序和Hadoop库。我是对的吗?

您需要在主节点上运行它是不正确的。 实际上你永远不应该从主节点运行任何东西。通常 应该使用网关节点或客户端节点来提交作业。网关 或客户端节点将具有所有hadoop二进制文件和配置文件 但它不会在其上运行任何守护进程。

  

开发,运行,部署MapReduce应用程序的一般方法是什么?是否有某种maven插件可以将所有Hadoop依赖项集成到您的项目中?

以上答案详细解释了

相关问题