缩容Elasticsearch集群
当集群有充足的能力处理当前数据时,为节省资源可以参考本文缩容集群的节点数量。
场景描述
CSS服务支持多种缩容场景,如表1所示。
约束限制
- 缩容是通过下线节点减少节点数量,为了降低业务影响,建议在业务低峰期进行缩容操作。
- 缩容过程会涉及数据迁移,将要下线的节点数据迁移到其他节点上,数据迁移的超时阈值为5小时。当超过5小时数据还未迁移完成,那么缩容会失败。建议在集群数据量较大的情况下,分多次进行缩容。
- 要确保缩容之后的磁盘使用量小于80%,且集群每个节点类型中每个AZ的节点数至少为1。
- 关于跨AZ的集群,在不同AZ中同类型节点个数的差值要小于等于1。
- 当集群没有Master节点时,每次缩容的数据节点和冷数据节点个数之和要小于缩容前数据节点和冷数据节点个数之和的一半,缩容后的数据节点和冷数据节点个数之和要大于索引的最大副本个数。
- 当集群有Master节点时,每次缩容的Master节点个数要小于当前Master节点总数的一半,缩容后的Master节点个数必须是奇数且不小于3。
- 当集群没有Master节点时,数据节点数量和冷数据节点数量之和大于等于3时才支持缩容。当集群有Master节点时,数据节点数量大于等于2时才支持缩容。当集群不满足缩容条件却想减少集群节点时,建议新建集群,备份与恢复Elasticsearch集群数据迁移集群数据。
- 当一个集群包含的节点类型不同时,各节点类型支持的节点数量不同,缩容节点数量时请参考表2。
表2 集群的节点数量取值说明 一个集群包含的节点类型
节点数量的取值范围
ess
ess:1~32
ess、ess-master
ess:1~200
ess-master:3~9的奇数
ess、ess-client
ess:1~32
ess-client:1~32
ess、ess-cold
ess:1~32
ess-cold:1~32
ess、ess-master、ess-client
ess:1~200
ess-master:3~9的奇数
ess-client:1~32
ess、ess-master、ess-cold
ess:1~200
ess-master:3~9的奇数
ess-cold:1~32
ess、ess-client、ess-cold
ess:1~32
ess-client:1~32
ess-cold:1~32
ess、ess-master、ess-client、ess-cold
ess:1~200
ess-master:3~9的奇数
ess-client:1~32
ess-cold:1~32
说明:- ess:数据节点,即创建集群时必配的节点类型,其他3种节点类型都是基于业务需要可选的类型。
- ess-master:Master节点。
- ess-client:Client节点。
- ess-cold:冷数据节点。
前提条件
集群处于“可用”状态,且无正在进行的任务。
缩容随机节点
- 登录云搜索服务管理控制台。
- 在左侧菜单栏,选择对应的集群类型,进入集群管理页面。
- 选择目标集群,单击操作列的“更多>形态变更”进入形态变更页面。
- 选择“更改集群规格”页签。
- 在更改集群规格页面,设置缩容参数。
表3 缩容随机节点 参数
说明
变更类型
选择“缩容”。
变更的资源
显示本次缩容的资源变化量。
配置委托
删除节点会释放网卡,需要VPC的操作权限。选择IAM委托,授权当前账号访问和使用VPC的权限。
- 仅对接了IAM新平面时才显示该参数。
- 当首次配置委托时,可以单击“自动创建委托”新建委托“css-upgrade-agency”直接使用。
- 当已有自动创建的委托时,可以单击“委托一键授权”,删除委托中VPC Administrator系统角色和VPC FullAccess系统策略的权限,新增如下自定义策略授权委托到最小化权限。
"vpc:subnets:get", "vpc:ports:*"
- “自动创建委托”和“委托一键授权”需要如下最小权限。
"iam:agencies:listAgencies", "iam:roles:listRoles", "iam:agencies:getAgency", "iam:agencies:createAgency", "iam:permissions:listRolesForAgency", "iam:permissions:grantRoleToAgency", "iam:permissions:listRolesForAgencyOnProject", "iam:permissions:revokeRoleFromAgency", "iam:roles:createRole"
- 使用委托需要如下最小权限。
"iam:agencies:listAgencies", "iam:agencies:getAgency", "iam:permissions:listRolesForAgencyOnProject", "iam:permissions:listRolesForAgency"
变更的角色
在“节点数量”列减少节点数量。支持多种节点类型同时变更。
节点数量的取值范围请参见表2。
图1 集群缩容
- 单击“下一步”。
- 确认变更信息后,单击“提交申请”。
- 单击“返回集群列表”跳转到集群管理页面。集群的“任务状态”列中显示为“缩容中”,表示集群正在缩容。当集群状态变为“可用”,则表示缩容成功。
缩容指定节点
- 登录云搜索服务管理控制台。
- 在左侧菜单栏,选择对应的集群类型,进入集群管理页面。
- 选择目标集群,单击操作列的“更多>形态变更”进入形态变更页面。
- 选择“缩容指定节点”页签。
- 在缩容指定节点页面,设置缩容参数。
表4 缩容指定节点 参数
说明
配置委托
删除节点会释放网卡,需要VPC的操作权限。选择IAM委托,授权当前账号访问和使用VPC的权限。
- 仅对接了IAM新平面时才显示该参数。
- 当首次配置委托时,可以单击“自动创建委托”新建委托“css-upgrade-agency”直接使用。
- 当已有自动创建的委托时,可以单击“委托一键授权”,删除委托中VPC Administrator系统角色和VPC FullAccess系统策略的权限,新增如下自定义策略授权委托到最小化权限。
"vpc:subnets:get", "vpc:ports:*"
- “自动创建委托”和“委托一键授权”需要如下最小权限。
"iam:agencies:listAgencies", "iam:roles:listRoles", "iam:agencies:getAgency", "iam:agencies:createAgency", "iam:permissions:listRolesForAgency", "iam:permissions:grantRoleToAgency", "iam:permissions:listRolesForAgencyOnProject", "iam:permissions:revokeRoleFromAgency", "iam:roles:createRole"
- 使用委托需要如下最小权限。
"iam:agencies:listAgencies", "iam:agencies:getAgency", "iam:permissions:listRolesForAgencyOnProject", "iam:permissions:listRolesForAgency"
节点类型
展开本次要变更的节点类型,此处会显示当前节点类型拥有的节点,勾选要下线的节点。
- 单击“下一步”。
- 确认变更信息后,单击“提交申请”,在数据迁移弹窗中确认是否进行数据迁移(建议勾选“进行数据迁移”避免数据丢失),单击“确认”提交申请。
数据迁移过程中,系统会把待下线节点中的所有数据分片移动到剩余节点,待数据迁移完成后再进行节点下线操作。当待下线节点上的数据在剩余节点存在副本时,可跳过数据迁移,缩短集群变更时间,减少数据迁移带来的负载压力。
- 单击“返回集群列表”跳转到集群管理页面。集群的“任务状态”列中显示为“缩容中”,表示集群正在缩容。当集群状态变为“可用”,则表示缩容成功。