【问题标题】:Elk on Docker Swarm and glusterFS crashElk on Docker Swarm 和 glusterFS 崩溃
【发布时间】:2018-04-13 16:01:37
【问题描述】:

我正在尝试在 docker swarm 上部署一个 ELK 堆栈。

如果我将弹性数据目录绑定到 Docker 卷,则没有问题。

当我尝试将 elstastic 数据目录绑定到 glusterFS 卷时,问题就出现了。 我使用 glusterFS 来同步集群中所有 swarm 节点之间的数据。 我使用以下代码部署 ELK:

elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.2.3
    # container_name: elasticsearch
    environment: 
      - "http.host=0.0.0.0"
      - "transport.host=127.0.0.1"
      - "ELASTIC_PASSWORD=changeme"
      - "TAKE_FILE_OWNERSHIP=1"
    ports: ['127.0.0.1:9200:9200']
    volumes:
      - /opt/dockershared/stack-elk/elk:/usr/share/elasticsearch/data
    networks: ['stack']

目录“/opt/dockershared/”是一个 glusterFS 卷:

myhost:/gvol0 on /opt/dockershared type fuse.glusterfs (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,max_read=131072,_netdev)

ELK 堆栈启动时没有问题,但 30/60 分钟后分片分配失败。 在 ELK 日志中,我看到以下异常:

[2018-04-13T08:58:16,749][WARN][o.e.i.e.Engine] [MPxFOvC] [metricbeat-6.2.3-2018.04.13][0] 失败的引擎 [刷新失败的源 [schedule]] org.apache.lucene.index.CorruptIndexException:从存储读取索引时出现问题(MMapDirectory@/usr/share/elasticsearch/data/nodes/0/indices/fRcersH4RjecZ8AKb3WZTQ/0/index lockFactory=org.apache.lucene.store.NativeFSLockFactory@ 73620ce7) (resource=store(MMapDirectory@/usr/share/elasticsearch/data/nodes/0/indices/fRcersH4RjecZ8AKb3WZTQ/0/index lockFactory=org.apache.lucene.store.NativeFSLockFactory@73620ce7)) 在 org.apache.lucene.index.SegmentCoreReaders.(SegmentCoreReaders.java:140) ~[lucene-core-7.2.1.jar:7.2.1 b2b6438b37073bee1fca40374e85bf91aa457c0b - ubuntu - 2018-01-10 00:48:43] …… 引起:java.io.EOFException:读取过去的 EOF:MMapIndexInput(path="/usr/share/elasticsearch/data/nodes/0/indices/fRcersH4RjecZ8AKb3WZTQ/0/index/_47.cfe") 在 org.apache.lucene.store.ByteBufferIndexInput.readByte(ByteBufferIndexInput.java:75) ~[lucene-core-7.2.1.jar:7.2.1 b2b6438b37073bee1fca40374e85bf91aa457c0b - ubuntu - 2018-01-10 00:48:43] …… 抑制:org.apache.lucene.index.CorruptIndexException:校验和状态不确定:剩余=0,请运行 checkindex 了解更多详细信息(resource=BufferedChecksumIndexInput(MMapIndexInput(path="/usr/share/elasticsearch/data/nodes/0/indices /fRcersH4RjecZ8AKb3WZTQ/0/index/_47.cfe"))) .....

可能是什么问题? 在所有 swarm 节点之间共享弹性数据目录的最佳解决方案是什么?

谢谢

【问题讨论】:

    标签: docker elasticsearch docker-swarm glusterfs


    【解决方案1】:

    我在 ELK 论坛上写过,答案是这样的: elk forum

    ELK 基本上只支持本地磁盘或块存储。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-09
      • 1970-01-01
      • 2019-06-10
      • 2015-05-25
      • 2021-10-20
      相关资源
      最近更新 更多