跳转到: 导航, 搜索

Sahara/Scaling

概述

我们目前正在考虑两种扩展方案

  1. 现有节点组的扩展。这里我们有移除现有节点组中实例的能力。
  2. 向集群添加新的节点组。这将允许用户添加具有可配置参数的新节点组,就像在集群创建期间发生的那样。

限制

我们只考虑在节点组内添加/移除 datanode 和 tasktracker。因此,我们将使用以下进程列表处理 3 种类型的节点组

  1. [datanode]
  2. [tasktracker]
  3. [datanode, tasktracker]

第一种方法

REST API

POST /v1.0/{tenant_id}/clusters/{cluster_id}/scale 请求格式


   {  
    "nodes": [
           {
               "name": "node_group_name",
               "amount": "+1" {amount of instance to be added or deleted (-1)}
           }
      ]
   }

请查看模拟图

Mockup.png


SPI

需要向插件添加 2 个方法

   validate_scaling(node_groups):

应验证是否可以移除或添加实例

   scale_existing_node_groups(cluster, instances)

准备运行指定进程的实例。


实例本身将通过 savanna_core 使用现有方法启动和停止。