美文网首页ElasticSearch
1.14索引恢复设置

1.14索引恢复设置

作者: ElasticSearch文档 | 来源:发表于2024-01-09 20:28 被阅读0次
    索引恢复设置

    对等恢复同步数据从主分片到新的或现有的分片副本。

    当Elasticsearch发生以下情况时,对等恢复会自动发生:

    • 在节点故障期间重新创建丢失的分片
    • 由于集群重新平衡或更改分片分配设置而将分片重新定位到另一个节点
      您可以使用cat recovery API查看正在进行中和已完成的恢复的列表。
    恢复设置

    indices.recovery.max_bytes_per_sec
    (动态)限制每个节点的总流入和流出恢复流量/秒。适用于对等恢复以及快照恢复(即从快照还原)。默认为40MB,除非节点是专用的冷节点或冻结节点,在这种情况下,默认值与节点可用的总内存相关:

    总内存 默认在冷和冻结节点上的恢复速率
    ≤ 4GB 40 MB/s

    4GB和≤ 8GB 60 MB/s
    8GB和≤ 16GB 90 MB/s
    16GB和≤ 32GB 125 MB/s
    32GB 250 MB/s
    此限制分别适用于每个节点。如果集群中的多个节点同时执行恢复,则集群的总体恢复流量可能超过此限制。

    如果此限制过高,正在进行的恢复可能会消耗过多的带宽和其他资源,从而可能使集群不稳定。

    这是一个动态设置,这意味着您可以在每个节点的elasticsearch.yml配置文件中设置它,并可以使用集群更新设置API动态更新它。如果动态设置它,则相同的限制将应用于集群中的每个节点。如果您不动态设置它,则可以在每个节点上设置不同的限制,这对于某些节点的带宽比其他节点更好的情况很有用。例如,如果您使用索引生命周期管理,那么您可能可以为热节点(hot)设置较高的恢复带宽限制,而为温暖节点(warm)设置较低的限制。

    专业对等恢复设置

    您可以使用以下专业设置来管理对等恢复的资源。

    indices.recovery.max_concurrent_file_chunks
    (动态,专业)每个恢复并行发送的文件块数。默认为2。

    当单个分片的恢复未达到indices.recovery.max_bytes_per_sec设置的流量限制时,可以增加此设置的值,最多为8。

    indices.recovery.max_concurrent_operations
    (动态,专业)每个恢复并行发送的操作数。默认为1。

    在恢复期间同时重放操作可能非常耗费资源,并可能干扰集群中的索引、搜索和其他活动。请不要在仔细验证集群具有处理将产生的额外负载的资源的情况下增加此设置。

    indices.recovery.use_snapshots
    (动态,专业)启用基于快照的对等恢复。

    Elasticsearch使用对等恢复过程来恢复副本并重新定位主分片,该过程涉及在目标节点上构建分片的新副本。当indices.recovery.use_snapshots为false时,Elasticsearch将通过从当前主节点转移索引数据来构建此新副本。当此设置为true时,Elasticsearch将尝试首先从最近的快照复制索引数据,仅在无法找到合适的快照时才从主节点复制数据。默认为true。

    将此选项设置为true可降低在节点之间的数据传输成本较高的环境中的运营成本。它还减少了在恢复期间主节点必须执行的工作量。

    此外,具有设置use_for_peer_recovery=true的存储库将在恢复分片时被咨询以找到一个好的快照。如果所有注册的存储库都未定义此设置,则将从源节点中恢复索引文件。

    indices.recovery.max_concurrent_snapshot_file_downloads
    (动态,专业)每个恢复并行发送到目标节点的快照文件下载请求数。默认为5。

    请不要增加此设置,而没有仔细验证集群具有处理将产生的额外负载的资源。

    indices.recovery.max_concurrent_snapshot_file_downloads_per_node
    (动态,专业)在目标节点上执行的所有恢复的并行快照文件下载请求数。默认为25。

    请不要增加此设置,而没有仔细验证集群具有处理将产生的额外负载的资源。

    托管服务的恢复设置

    此功能设计为由Elasticsearch Service、Elastic Cloud Enterprise和Elastic Cloud on Kubernetes间接使用。不支持直接使用。

    在作为托管服务运行Elasticsearch时,以下设置允许服务指定每个节点的磁盘读取、磁盘写入和网络流量的绝对最大带宽,并允许您在每个节点上控制每个节点的最大恢复带宽,以这些绝对最大值为基础。它们有两个效果:

    • 如果未设置indices.recovery.max_bytes_per_sec,则确定用于恢复的带宽,覆盖上述默认行为。
    • 它们对恢复带宽施加了节点范围的限制,独立于indices.recovery.max_bytes_per_sec的值。
      如果未设置indices.recovery.max_bytes_per_sec,则最大恢复带宽将计算为绝对最大带宽的比例。此计算分别为读取和写入流量执行。服务使用node.bandwidth.recovery.disk.read、node.bandwidth.recovery.disk.write和node.bandwidth.recovery.network定义磁

    盘读取、磁盘写入和网络传输的绝对最大带宽,并通过调整node.bandwidth.recovery.factor.read和node.bandwidth.recovery.factor.write设置可以用于恢复的绝对最大带宽的比例。如果启用了操作员权限功能,则服务还可以使用这些设置的operator-only变体来设置默认比例。

    如果设置了indices.recovery.max_bytes_per_sec,则Elasticsearch将使用其值作为最大恢复带宽,前提是这不超过节点范围的限制。Elasticsearch通过将绝对最大带宽乘以node.bandwidth.recovery.operator.factor.max_overcommit因子来计算节点范围的限制。如果indices.recovery.max_bytes_per_sec设置超过节点范围的限制,则节点范围的限制优先。如果未设置indices.recovery.max_bytes_per_sec,则Elasticsearch将忽略节点范围的限制。

    服务应通过实验确定绝对最大带宽设置的值,使用类似于恢复的工作负载,在该工作负载中有几个并发工作者,每个工作者都以512kiB的块顺序处理文件。

    node.bandwidth.recovery.disk.read
    (每秒字节值)用于节点上恢复类似工作负载的绝对最大磁盘读取速度。如果设置,还必须设置node.bandwidth.recovery.disk.write和node.bandwidth.recovery.network。
    node.bandwidth.recovery.disk.write
    (每秒字节值)用于节点上恢复类似工作负载的绝对最大磁盘写入速度。如果设置,还必须设置node.bandwidth.recovery.disk.read和node.bandwidth.recovery.network。
    node.bandwidth.recovery.network
    (每秒字节值)用于节点上恢复类似工作负载的绝对最大网络吞吐量,适用于读取和写入。如果设置,还必须设置node.bandwidth.recovery.disk.read和node.bandwidth.recovery.disk.write。
    node.bandwidth.recovery.factor.read
    (浮点数,动态)如果未设置indices.recovery.max_bytes_per_sec,则指定用于恢复的最大读取带宽的比例。必须大于0且不大于1。如果未设置,则使用node.bandwidth.recovery.operator.factor.read的值。如果未设置任何因子设置,则使用值0.4。
    node.bandwidth.recovery.factor.write
    (浮点数,动态)如果未设置indices.recovery.max_bytes_per_sec,则指定用于恢复的最大写入带宽的比例。必须大于0且不大于1。如果未设置,则使用node.bandwidth.recovery.operator.factor.write的值。如果未设置任何因子设置,则使用值0.4。
    node.bandwidth.recovery.operator.factor.read
    (浮点数,动态)如果未设置indices.recovery.max_bytes_per_sec和node.bandwidth.recovery.factor.read,则指定用于恢复的最大读取带宽的比例。必须大于0且不大于1。如果未设置,则使用node.bandwidth.recovery.operator.factor的值。如果未设置任何因子设置,则使用值0.4。启用操作员权限功能时,只有操作员用户才能更新此设置。
    node.bandwidth.recovery.operator.factor.write
    (浮点数,动态)如果未设置indices.recovery.max_bytes_per_sec和node.bandwidth.recovery.factor.write,则指定用于恢复的最大写入带宽的比例。必须大于0且不大于1。如果未设置,则使用node.bandwidth.recovery.operator.factor的值。如果未设置任何因子设置,则使用值0.4。启用操作员权限功能时,只有操作员用户才能更新此设置。
    node.bandwidth.recovery.operator.factor
    (浮点数,动态)如果未设置indices.recovery.max_bytes_per_sec和任何其他因子设置,则指定用于恢复的最大带宽的比例。必须大于0且不大于1。默认为0.4。启用操作员权限功能时,只有操作员用户才能更新此设置。
    node.bandwidth.recovery.operator.factor.max_overcommit
    (浮点数,动态)指定可以用于恢复的绝对最大带宽的比例,而不考虑任何其他设置。必须大于0。默认为100。启用操作员权限功能时,只有操作员用户才能更新此设置。

    相关文章

      网友评论

        本文标题:1.14索引恢复设置

        本文链接:https://www.haomeiwen.com/subject/wieandtx.html