У меня есть следующий набор политик кластера
cluster-policy: [
{
replica: "#EQUAL",
shard: "#EACH",
type: "PULL",
nodeset: [
{
port: "8983"
},
{
port: "8987"
}
]
},
{
replica: "#ALL",
type: "TLOG",
nodeset: {
port: "7574"
}
},
{
replica: 0,
type: "PULL",
nodeset: {
port: "7574"
}
}
],
Я успешно могу создать коллекцию из 4 осколков и даже могу создать одну реплику для каждого осколка.
Здесь Вот как выглядит мой кластер
Теперь, когда я запускаю следующую команду, чтобы добавить дополнительные реплики к любому шарду (shard1 в приведенной ниже команде)
http://localhost: 8983 / solr / admin / collection? Action = addreplica & shard = shard1 & collection = gtClassic & pullReplicas = 1 & type = pull
Я получаю следующую ошибку
Operation addreplica caused exception:: "org.apache.solr.cloud.api.collections.Assign$AssignmentException:org.apache.solr.cloud.api.collections.Assign$AssignmentException: Error getting replica locations : No node can satisfy the rules "[{replica=#EQUAL, shard=#EACH, type=PULL, nodeset=[{port=8983}, {port=8987}], collection=gtClassic}, {replica=#ALL, type=TLOG, nodeset={port=7574}, collection=gtClassic}, {replica=0, type=PULL, nodeset={port=7574}, collection=gtClassic}] More details from logs in node : 172.23.98.162:8983_solr, errorId : AutoScaling.error.diagnostics.185827540646646"",
exception: {
msg: "Error getting replica locations : No node can satisfy the rules "[{replica=#EQUAL, shard=#EACH, type=PULL, nodeset=[{port=8983}, {port=8987}], collection=gtClassic}, {replica=#ALL, type=TLOG, nodeset={port=7574}, collection=gtClassic}, {replica=0, type=PULL, nodeset={port=7574}, collection=gtClassic}] More details from logs in node : 172.23.98.162:8983_solr, errorId : AutoScaling.error.diagnostics.185827540646646"",
rspCode: -1
},
Коэффициент репликации для коллекции - 3.
Может кто-нибудь помочь мне, если я что-то здесь упустил.