Sahara/Scaling
< Sahara
概述
我们目前正在考虑两种扩展方案
- 现有节点组的扩展。这里我们有移除现有节点组中实例的能力。
- 向集群添加新的节点组。这将允许用户添加具有可配置参数的新节点组,就像在集群创建期间发生的那样。
限制
我们只考虑在节点组内添加/移除 datanode 和 tasktracker。因此,我们将使用以下进程列表处理 3 种类型的节点组
- [datanode]
- [tasktracker]
- [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)}
}
]
}
请查看模拟图
SPI
需要向插件添加 2 个方法
validate_scaling(node_groups):
应验证是否可以移除或添加实例
scale_existing_node_groups(cluster, instances)
准备运行指定进程的实例。
实例本身将通过 savanna_core 使用现有方法启动和停止。
