我正在尝试编写一个纱线应用程序,并希望就我想到的一些设计问题得到一些建议。我已经浏览了更简单的示例应用程序,如分布式shell及其中的一些变体,因此我熟悉基本API。我想要做的是创建一个具有Web界面的应用程序,用户可以与之交互并可能提供某种任务(任务的性质无关紧要)。基于该工作,UI请求容器进行处理。
我想到的理想安排是我的应用程序主机提供了这个Web UI,并且在有人来到AM网站并请求一些工作之前不会分配任何容器。此时,AM应该能够注册新容器并为其分配工作。
我很感激任何建议
答案 0 :(得分:0)
关于问题(1)您可以在非托管模式下运行AM。这将允许您在可以更好地控制其IP地址的专用计算机上运行YARN群集之外的AM。
答案 1 :(得分:0)
看看Apache Twill。 Apache Twill是Apache Hadoop YARN的抽象,可以降低开发分布式应用程序的复杂性。可以启动容器来执行长时间运行的进程(服务器)。
可以通过Apache Curator来处理为Web UI提供服务的容器的更改IP。可以使用Apache Curator的Service Discovery机制在ZooKeeper中注册服务。