用于远程作业提交的典型Hadoop设置

时间:2014-08-19 22:18:07

标签: linux windows hadoop cloudera-cdh cloudera-manager

所以我对hadoop还有点新意,目前正在为Amazonaws建立一个小型测试集群。因此,我的问题涉及有关群集结构的一些提示,因此可以从远程计算机上提交作业。

目前我有5台机器。 4基本上是带有NameNodes,Yarn等的Hadoop集群。一台机器用作管理器机器(Cloudera Manager)。我将在设置中描述我的思考过程,如果有人能说出我不清楚的观点,那就太棒了。

我在想什么是小型集群的最佳设置。所以我决定只暴露一台经理机器,并可能使用它来通过它提交所有工作。其他机器将看到彼此等,但不能从外部世界访问。我对如何做到这一点有概念性的想法,但我不知道如何正确地做到这一点,如果有人能指出我正确的方向,那将是伟大的。

另一个重点是,我希望能够通过客户端计算机(可能是Windows)中的暴露计算机向集群提交作业。我对这个设置也不太清楚。我是否需要在机器上安装Hadoop才能使用正常的hadoop命令,并从Eclipse或类似的东西中编写/提交作业。

总而言之,我的问题是,

  1. 这是一个小型测试集群的正常设置
  2. 如何使用一台公开的计算机向集群提交/路由作业,而不需要任何Hadoop节点。
  3. 如何设置客户端计算机以将作业提交到远程群集,以及如何在Windows上执行此操作的示例。此外,如果有任何理由不在此设置中将Windows用作客户端计算机。
  4. 谢谢,我非常感谢您的任何建议或帮助。

1 个答案:

答案 0 :(得分:0)

由于未回答,我将尝试回答。

1。 REST API提交申请:

资源1(集群应用程序API(提交应用程序)):https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html#Cluster_Applications_APISubmit_Application

资源2:https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.6.5/bk_yarn-resource-management/content/ch_yarn_rest_apis.html

资源3:https://hadoop-forum.org/forum/general-hadoop-discussion/miscellaneous/2136-how-can-i-run-mapreduce-job-by-rest-api

资源4:Run a MapReduce job via rest api

2。从客户端计算机提交hadoop作业

资源1:https://pravinchavan.wordpress.com/2013/06/18/submitting-hadoop-job-from-client-machine/

3。将程序发送到远程hadoop集群

可以将程序发送到远程Hadoop集群以运行它。您需要确保的是在运行实际作业之前,已正确设置资源管理器地址,fs.defaultFS,库文件和mapreduce.framework.name。 资源1:(how to submit mapreduce job with yarn api in java