将工件部署到Hadoop集群

时间:2015-07-07 12:28:43

标签: hadoop deployment build

是否有任何模式如何将应用程序(jar文件)部署到Hadoop-Custer?我不是在谈论map-reduce作业,而是为Spark,Flume等部署应用程序。

仅在Hadoop生态系统中部署是不够的。您需要重新启动服务,部署配置(例如通过Ambari)等等。

我还没有找到任何具体的工具。我的假设是正确的,你使用像maven / jenkins这样的标准自动化工具,并自己做缺失的部分吗?

只是想知道我是否监督了一些事情。只是不想重新发明轮子;)

1 个答案:

答案 0 :(得分:1)

如果您正在管理Hadoop生态系统,您可以使用Ambari和Cloudera的经理。但是您需要停止并重新启动其服务以进行配置和库更改。如果生态系统在此之外进行管理,那么您可以选择使用Puppet和Salt等外部工具管理罐子。目前,我们使用Salt是因为推/拉能力。

如果您正在谈论应用程序,例如在Spark上运行的作业,您只需在文件路径中提供Hadoop URL。例如:  spark-submit --class my.dev.org.SparkDriver --properties-file mySparkProps.conf wordcount-shaded.jar hdfs://servername/input/file/sample.txt hdfs:// servername / output / sparkresults

对于应用程序依赖于第三方jar文件。然后,您可以选择对作业的jar文件进行着色,以防止其他应用程序库相互干扰。缺点是应用程序jar文件会变大。我使用maven,所以我添加了maven-shade-plugin工件并使用默认范围(编译)作为依赖项。