弹性搜索错误:"对于类型,不能选择通道大小为0:[RECOVERY,BULK,STATE]"

时间:2017-09-12 05:07:08

标签: elasticsearch elasticsearch-5 fluentd

在每隔几个小时运行后,我从流利弹性搜索中收到以下错误:

can't select channel size is 0 for types: [RECOVERY, BULK, STATE]

看起来错误来自这里:

elasticsearch/core/src/main/java/org/elasticsearch/transport/ConnectionProfile.java
<T> T getChannel(T[] channels) {
            if (length == 0) {
                throw new IllegalStateException("can't select channel size is 0 for types: " + types);
            }
            assert channels.length >= offset + length : "illegal size: " + channels.length + " expected >= " + (offset + length);
            return channels[offset + Math.floorMod(counter.incrementAndGet(), length)];
        }

此错误的原因是什么?我该如何解决?

这是我精通的设置:

<match *.**>
  buffer_chunk_limit 64m
  buffer_queue_limit 500
  type elasticsearch
  hosts index1:9200,index2:9200
  logstash_format true
  flush_interval 30s
  request_timeout 100s
  flush_at_shutdown true
  buffer_type file
  buffer_path /opt/buffer/td-agent/all.*.buffer
  retry_limit 17
  num_threads 8
  reload_on_failure true
  reload_connections true
  reconnect_on_error true
</match>

我正在使用:

ruby gems:
    fluent-plugin-elasticsearch-1.9.5
    elasticsearch-api-5.0.4
    elasticsearch-5.0.4
    elasticsearch-transport-5.0.4
elastic search:
    elasticsearch-5.5.2
fluentd:
    td-agent-2.3.2-0.el6.x86_64

0 个答案:

没有答案