cluster.routing.allocation.enable
时间: 2024-01-11 07:05:35 浏览: 37
cluster.routing.allocation.enable是一个Elasticsearch的集群级别的设置,用于控制分片的分配行为。它有以下几个选项:
- "all":允许分片在所有节点之间自由分配,默认值。
- "primaries":只允许将主分片分配给节点,而不是副本分片。
- "new_primaries":只允许将新创建的主分片分配给节点,而不是副本分片。
- "none":禁止任何分片的分配。
- "custom":根据自定义的策略进行分配。
这个设置主要用于在集群中管理分片的平衡性和容错性。注意,在更改此设置后,集群可能需要一些时间来重新平衡和重新分配分片。
相关问题
cluster.routing.allocation.disk.watermark.high 设置 代码示例
下面是一个 Elasticsearch 集群中设置 `cluster.routing.allocation.disk.watermark.high` 参数的示例代码:
```bash
curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_cluster/settings -d '{
"persistent": {
"cluster.routing.allocation.disk.watermark.high": "90%"
}
}'
```
这会将 `cluster.routing.allocation.disk.watermark.high` 参数设置为 90%。当集群中的任何一个节点的磁盘使用率超过 90% 时,该节点将不再接受新的分片分配。请注意,这是一个持久性设置,因此它将一直保持,直到您明确地将其更改为其他值。
index.routing.allocation.require.size
index.routing.allocation.require.size 是一个在 Elasticsearch 中用来控制索引分配方式的参数。它可以用于指定一个索引分片需要的最小节点物理内存大小。
当设置了 index.routing.allocation.require.size 参数时,Elasticsearch 会根据该参数的配置要求,在分配索引分片时只选择具有足够内存的节点来存放索引分片。该参数可以在不同的策略中使用,例如 shard allocation awareness 和 shard allocation filtering。
使用 index.routing.allocation.require.size 参数可以帮助避免将索引分配到内存不足的节点上,从而保证节点性能的稳定性和索引查询的效率。为了确定节点的物理内存大小,Elasticsearch 会利用节点上的操作系统 API 来进行检测。
例如,假设我们将 index.routing.allocation.require.size 设置为 "4G",那么只有节点的物理内存大小不小于 4GB 的节点才会被选中来分配该索引的分片。如果没有满足条件的节点,那么该索引的分片将会在等待合适的节点可用时再行分配。
需要注意的是,index.routing.allocation.require.size 参数并不能单独决定一个节点是否要接收索引分片,它仅仅是其中一个用于节点选择的条件之一。此外,对于已经存在的索引分配,该参数的设置不会对其产生影响,只会对新索引分配起作用。