如何将参数从 Web 请求传递到 spring boot yarn 应用程序
how to pass parameters from web requests to spring boot yarn application
我正在使用 spring-boot 和 spring-boot-yarn 将 yarn 应用程序提交到集群。
我的用例接近本教程中描述的用例 https://github.com/spring-guides/gs-yarn-basic。
唯一的区别是我的 'client' 应该是一个网络应用程序,并在发出网络请求时提交 yarn 作业。
我遇到的问题是,对 'client' 网络应用程序的网络请求提供了我需要传递给 yarn 作业的参数。
在上述教程中,参数作为命令行参数传递给 application.yml 中指定的 appmaster/容器。在我的例子中,这种方法不起作用,因为我为每个 yarn 作业设置了不同的参数集。
有没有一种方法可以将动态参数传递给 yarn 作业而无需在 application.yml 中对它们进行硬编码?
最初的想法是防止 "rogue" 用户或应用程序传递属性,这些属性随后会自动以命令行选项结束,可能会在 hadoop 集群中造成危害。
如果这是您想要的,请查看我在 Spring Boot Yarn - Passing Command line arguments 中的回答。
话虽如此,你不是第一个问这个的人,也不是"complain"太难或不清楚怎么做的人。我们将在未来的版本中使这更容易,主要是因为这似乎正是用户想要做的。
我正在使用 spring-boot 和 spring-boot-yarn 将 yarn 应用程序提交到集群。
我的用例接近本教程中描述的用例 https://github.com/spring-guides/gs-yarn-basic。
唯一的区别是我的 'client' 应该是一个网络应用程序,并在发出网络请求时提交 yarn 作业。
我遇到的问题是,对 'client' 网络应用程序的网络请求提供了我需要传递给 yarn 作业的参数。
在上述教程中,参数作为命令行参数传递给 application.yml 中指定的 appmaster/容器。在我的例子中,这种方法不起作用,因为我为每个 yarn 作业设置了不同的参数集。
有没有一种方法可以将动态参数传递给 yarn 作业而无需在 application.yml 中对它们进行硬编码?
最初的想法是防止 "rogue" 用户或应用程序传递属性,这些属性随后会自动以命令行选项结束,可能会在 hadoop 集群中造成危害。
如果这是您想要的,请查看我在 Spring Boot Yarn - Passing Command line arguments 中的回答。
话虽如此,你不是第一个问这个的人,也不是"complain"太难或不清楚怎么做的人。我们将在未来的版本中使这更容易,主要是因为这似乎正是用户想要做的。