当我尝试将未分配的辅助分片分配给节点时出错。
{ “错误”:{ “ROOT_CAUSE”:[{ “类型”: “remote_transport_exception”, “理由”: “[10.0.2.17] [10.0.2.17:9300] [簇:管理/重路由]”}] ,“type”:“illegal_argument_exception”,“reason”:节点{10.0.2.34}上的[vts_companydirectory_20170625_2040] [1]的[[allocate]分配{atDVd6lEQTiuBitCsqYqBA} {10.0.2.34} {10.0.2.34:9300} {max_local_storage_nodes = 1,rack = rack.10-0-2,master = true}不允许,原因:[YES(分片未分配给同一节点或主机)] [YES(节点传递包含/排除/要求过滤器)] [是(目标节点版本[2.3.3]与源节点版本[2.3.3]相同或更新)] [是(主要已经激活)] [是(足够的磁盘用于节点上的分片,免费:[1.3tb] )] [是(忽略分配禁用)] [否(属性节点上的分片太多:[机架],每个属性需要:[1],节点数:[2],剩余:[0])] [是(索引限制下的分片计数[10]和每个节点的总分片数的节点限制[-1])] [是([10]的分片恢复限制以下] [是(忽略分配禁用)] [是(不是分片)小学或重新安置禁用)]“},”状态“:400}
答案 0 :(得分:0)
您启用了分片分配感知功能。 请参阅here。
Elasticsearch尝试不在节点上为主节点和副本分片分配具有相同值的特定属性(在您的情况下为“机架”)。
您收到此错误是因为Elasticsearch的分片分配感知功能阻止在您指定为具有相同“机架”属性值的节点上分配该索引的副本分片(“rack”=“rack.10-0 -2“)目前有分配给它们的主要(或其他)副本分片
尝试将此分片分配给另一个节点,其“rack”属性的值与您尝试分配的值不同。