如何删除Solr Cloud节点

时间:2019-06-07 08:18:23

标签: autoscaling solrcloud

我正在AWS中运行solrcloud集群。有时,在搜索次数很多的时期,我需要更多实例。

所以我试图找到一种自动缩放Solr群集的方法。

我添加更多节点的过程是增加自动伸缩组上的所需数量。几分钟后,我有了新节点。然后,我运行此脚本以添加更多副本。

#!/usr/bin/env bash
set -euo pipefail

REPLICAS=2

res=$(curl -s localhost:8983/api/cluster/configs?omitHeader=true | jq '.configSets')

for config in $(echo ${res} | jq -r '.[]' | grep -iE "lemma|entry"); do
    wget "localhost:8983/solr/admin/collections?action=ADDREPLICA&collection=${config}&shard=shard1&nrtReplicas=${REPLICAS}&type=nrt" -O /dev/null
done

脚本为新节点中的所有分片添加副本。

当我想缩小比例时,问题就来了。我想删除X个节点。我发现的唯一方法是识别节点名称,然后运行如下脚本:

NODE=core_nodeXX

res=$(curl -s localhost:8983/api/cluster/configs?omitHeader=true | jq '.configSets')

for config in $(echo ${res} | jq -r '.[]' | grep -iE "lemma|entry"); do
    wget "localhost:8983/solr/admin/collections?action=DELETEREPLICA&collection=${config}&shard=shard1&replica=${NODE}" -O /dev/null
done

我正在尝试找到一种更好的方法,以便可以使用lambda函数自动缩放Solr集群。放大很容易,缩小就是问题所在!

0 个答案:

没有答案