Deployment on Yarn #2
Labels
design
Design ideas & wanted features, etc.
good first issue
Good for newcomers
help wanted
Extra attention is needed
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
目前, kun 只可以的部署和调度执行只能限制在单台机器上(或者是单个容器中), 并且任务的调度执行并没有相对应的资源管理和限制。 很难适应大规模任务调度的场景, 也不利于扩展。
可以利用成熟的资源调度和管理框架, 根据需求实现分布式的任务分发和执行,比如 yarn, kubernetes,mesos。 yarn 是hadoop 平台上比较成功的资源调度器, 我们可以通过实现yarn app 的方式,来向yarn 请求资源并且执行任务。以下提出一种基于yarn 的任务调度方案。
At present, the deployment and scheduling execution of kun can only be restricted to a single machine (or in a single container), and there is no corresponding resource management and restriction for task scheduling and execution. It is difficult to adapt to large-scale task scheduling scenarios, and it is not conducive to expansion.
A mature resource scheduling and management framework can be used to implement task distribution and execution according to requirements, such as yarn, kubernetes, and mesos. Yarn is a relatively successful resource scheduler on the Hadoop platform. We can request resources from Yarn and perform tasks by implementing yarn app. The following proposes a task scheduling scheme based on yarn.
Describe the solution you'd like
A clear and concise description of what you want to happen.
一种简单的实现方式是对 LocalExecutor 的拓展实现。 当前 LocalExecutor 的实现是通过 多线程去启动本地机器的java 进程来完成特定的任务。 如果通过 Yarn 来实现的话,LocalExecutor的工作流可以简化为
A simple solution to achieve this is to modify the implementation of LocalExecutor. The current implementation of LocalExecutor is to start the java process of the local machine through thread pool to complete specific tasks. If implemented by Yarn, the workflow of LocalExecutor can be simplified to
优点:
缺点:
Pros:
Cons:
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
另外一种较为复杂的实现, 则是将整个executor进行分布式部署, 更符合传统的 master/slave形式的方案,整个复杂度提升不少。
该方案中, scheduler 承担着 executor 分发的任务, executor依然通过本地方式完成任务。
Another more complex solution is to deploy the entire executor in a distributed manner, which is more in line with the traditional master/slave scheme, and the overall complexity is greatly increased.
In this solution, the scheduler is responsible for the tasks distributed by the executor, and the executor still completes the tasks locally.
优点:
缺点:
Advantages:
Disadvantages:
Additional context
Add any other context or screenshots about the feature request here.
The text was updated successfully, but these errors were encountered: