将工件部署到hadoop集群

2g32fytz  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(440)

有什么模式可以将应用程序(jar文件)部署到hadoop客户机上吗?我说的不是map reduce作业,而是为spark、flume等部署应用程序。
仅仅在hadoop生态系统中部署是不够的。您需要重新启动服务、部署配置(例如通过ambari)等等。
我没有找到任何特定的工具。我的假设是正确的,你使用标准的自动化工具,如maven/jenkins,自己做缺失的部分?
只是想知道我是否监督了什么。只是不想重新发明轮子;)

ttcibm8c

ttcibm8c1#

如果您正在管理hadoop生态系统,那么可以使用ambari和cloudera的manager。但是您需要停止并重新启动他们的服务,以进行配置和库更改。如果生态系统是在这个外部管理的,那么您可以选择使用puppet和salt等外部工具来管理jar。目前,我们使用盐,因为推/拉的能力。
如果您谈论的是应用程序,比如运行在spark上的作业,那么只需在文件路径中提供hadoop url。例如:spark submit——class my.dev.org.sparkdriver——属性文件mysparkprops.conf wordcount-shaded.jarhdfs://servername/input/file/sample.txt hdfs://servername/output/sparkresults
因为应用程序依赖于第三方jar文件。然后可以选择对作业的jar文件进行着色,以防止其他应用程序库相互干扰。缺点是应用程序jar文件会变大。我使用maven,所以我添加了maven shade插件工件,并为依赖项使用默认范围(compile)。

相关问题