增加数据节点的磁盘容量
编辑增加数据节点的磁盘容量编辑
为了增加集群中数据节点的磁盘容量
- 登录 Elastic Cloud 控制台。
- 在 Elasticsearch Service 面板中,点击与您的部署名称对应的
管理部署
列下的齿轮图标。 -
如果自动扩展可用但未启用,请启用它。您可以通过点击如下横幅上的
启用自动扩展
按钮来完成此操作或者,您可以转到
操作 > 编辑部署
,选中自动扩展
复选框,然后点击页面底部的保存
。 -
如果自动扩展成功,集群应返回到
健康
状态。如果集群仍然磁盘空间不足,请检查自动扩展是否已达到其限制。您将通过以下横幅收到有关此事的通知或者,您可以转到
操作 > 编辑部署
并查找标签已达到限制
,如下所示如果您看到横幅,请点击
更新自动扩展设置
以转到编辑
页面。否则,您已经在编辑
页面中,点击编辑设置
以增加自动扩展限制。执行更改后,点击页面底部的保存
。
为了增加集群中的数据节点容量,您需要计算所需的额外磁盘空间量。
-
首先,检索相关的磁盘阈值,这些阈值将指示应该有多少可用空间。相关的阈值是除冻结层之外的所有层的 高水位线 和冻结层的 冻结洪水阶段水位线。以下示例演示了热层的磁盘空间不足,因此我们只检索高水位线
response = client.cluster.get_settings( include_defaults: true, filter_path: '*.cluster.routing.allocation.disk.watermark.high*' ) puts response
GET _cluster/settings?include_defaults&filter_path=*.cluster.routing.allocation.disk.watermark.high*
响应如下所示
{ "defaults": { "cluster": { "routing": { "allocation": { "disk": { "watermark": { "high": "90%", "high.max_headroom": "150GB" } } } } } } }
以上意味着,为了解决磁盘空间不足的问题,我们需要将磁盘使用率降低到 90% 以下,或者拥有超过 150GB 的可用空间,请阅读有关此阈值如何工作的更多信息 此处。
-
下一步是找出当前的磁盘使用情况,这将表明需要多少额外的空间。为简单起见,我们的示例只有一个节点,但您可以对超过相关阈值的每个节点应用相同的操作。
response = client.cat.allocation( v: true, s: 'disk.avail', h: 'node,disk.percent,disk.avail,disk.total,disk.used,disk.indices,shards' ) puts response
GET _cat/allocation?v&s=disk.avail&h=node,disk.percent,disk.avail,disk.total,disk.used,disk.indices,shards
响应如下所示
node disk.percent disk.avail disk.total disk.used disk.indices shards instance-0000000000 91 4.6gb 35gb 31.1gb 29.9gb 111
-
高水位线配置表明磁盘使用率需要降至 90% 以下。为了实现这一点,可以采取两种措施
- 向集群添加一个额外的数据节点(这要求您的集群中有多个分片),或者
- 将当前节点的磁盘空间扩展大约 20%,以允许该节点降至 70%。这将为该节点提供足够的空间,使其不会很快耗尽空间。
-
在添加另一个数据节点的情况下,集群不会立即恢复。将一些分片重新定位到新节点可能需要一些时间。您可以在此处检查进度
response = client.cat.shards( v: true, h: 'state,node', s: 'state' ) puts response
GET /_cat/shards?v&h=state,node&s=state
如果在响应中分片的状态为
正在重新定位
,则表示分片仍在移动。等到所有分片都变为已启动
或健康磁盘指示器变为绿色
。