我在Windows 8上运行弹性搜索版本4.1.我试图通过java索引文档.运行JUNIT测试时,错误如下所示.
org.elasticsearch.action.UnavailableShardsException: [wms][3] Primary shard is not active or isn't assigned is a known node. Timeout: [1m], request: index {[wms][video][AUpdb-bMQ3rfSDgdctGY], source[{ "fleetNumber": "45", "timestamp": "1245657888", "geoTag": "73.0012312,-123.00909", "videoName": "timestamp.mjpeg", "content": "ASD123124NMMM" }]} at org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction.retryBecauseUnavailable(TransportShardReplicationOperationAction.java:784) at org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction.doStart(TransportShardReplicationOperationAction.java:402) at org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction$3.onTimeout(TransportShardReplicationOperationAction.java:500) at org.elasticsearch.cluster.ClusterStateObserver$ObserverClusterStateListener.onTimeout(ClusterStateObserver.java:239) at org.elasticsearch.cluster.service.InternalClusterService$NotifyTimeout.run(InternalClusterService.java:497) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722)
我无法弄清楚,为什么会导致此错误发生.当删除数据或索引工作正常.可能的原因可能是什么.
你应该看一下这个链接:http: //www.elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules-allocation.html
特别是那部分:
cluster.routing.allocation.disk.watermark.low控制磁盘使用的低水位线.它默认为85%,这意味着一旦使用超过85%的磁盘,ES将不会为节点分配新的分片.它也可以设置为绝对字节值(如500mb),以防止ES在小于配置的可用空间量时分配分片.
cluster.routing.allocation.disk.watermark.high控制高水印.默认为90%,这意味着如果节点磁盘使用率超过90%,ES将尝试将分片重定位到另一个节点.它也可以设置为绝对字节值(类似于低水印),以便重新定位分片,一旦小于节点上可用的配置空间量.