Hadoop 长丝纱应用中的设计问题

Hadoop 长丝纱应用中的设计问题,hadoop,yarn,hadoop2,Hadoop,Yarn,Hadoop2,我正在尝试编写一个纱线应用程序,并希望得到一些关于一些设计问题的建议。我已经看过一些简单的示例应用程序,比如分布式shell和它的一些变体,因此我熟悉基本的API。我想做的是创建一个应用程序,它有一个web界面,用户可以与之交互,并可能提供某种任务。任务的性质是不相关的。在此基础上,UI请求容器进行处理 我想到的理想安排是,我的应用程序主控程序提供这个web UI,在有人来到AM网站并请求一些工作之前,不会分配容器。此时,AM应该能够注册新容器并为其分配工作 如果AM提供web UI,并且我的理

我正在尝试编写一个纱线应用程序,并希望得到一些关于一些设计问题的建议。我已经看过一些简单的示例应用程序,比如分布式shell和它的一些变体,因此我熟悉基本的API。我想做的是创建一个应用程序,它有一个web界面,用户可以与之交互,并可能提供某种任务。任务的性质是不相关的。在此基础上,UI请求容器进行处理

我想到的理想安排是,我的应用程序主控程序提供这个web UI,在有人来到AM网站并请求一些工作之前,不会分配容器。此时,AM应该能够注册新容器并为其分配工作

如果AM提供web UI,并且我的理解是,每次将应用程序提交给RM时,RM都会选择AM。这意味着AM可以具有不同的IP,因此在应用程序重新启动时具有不同的URL。这种行为是否表明AM不应该用于这种目的,并且可能是一个完全不同的应用程序可以提供web UI并且更适合它? 在所有示例中,我都看到了作为调用一部分的容器请求示例。有人能指出与AM相关的API吗?这些API允许在以后请求容器,或者可能修改已经声明的容器的资源需求内存,甚至根据需要增加容器的数量 和最后一点类似,大多数示例都集中在做某事然后结束的应用程序上。你可以想象,我的应用程序作为一个web应用程序继续运行下去是有意义的。对于这些长时间运行的应用程序,客户端不会对RM api进行更改。断开客户端提交作业进程的连接或使用&启动它在后台运行是否可以
如果您对问题1有任何建议,我将不胜感激。您可以在非托管模式下运行AM。这将允许您在专用机器上运行纱线集群之外的AM,您可以对其IP地址进行更多控制

看一看。ApacheTwill是ApacheHadoop纱线之上的抽象,它降低了开发分布式应用程序的复杂性。容器可以通过执行长时间运行的流程服务器启动

为Web UI提供服务的容器的不断变化的IP可以通过以下方式解决。可以使用Apache Curator的机制在ZooKeeper中注册服务