【问题标题】:Cannot connect Kibana to Elasticsearch with different port in docker无法使用 docker 中的不同端口将 Kibana 连接到 Elasticsearch
【发布时间】:2020-11-10 13:41:09
【问题描述】:

我无法将 Kibana 连接到在 docker 的不同端口中运行的 Elasticsearch。这是我的 docker 文件:

version: '3.2'
services:
  elasticsearch_new_1:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.6.2
    container_name: elasticsearch_new_1
    environment:
      - node.name=kw-new
      - cluster.name=kw-new
      - discovery.type=single-node
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - elasticsearch_new_1:/usr/share/elasticsearch/data
    ports:
      - 9299:9200
      - 9399:9300
    networks:
      - elastic

  kibana_2:
    image: docker.elastic.co/kibana/kibana:7.6.2
    container_name: kibana_2
    environment:
      - SERVER_NAME=KW_Kibana
      - ELASTICSEARCH_HOSTS=http://elasticsearch_new_1:9299
    ports:
      - 5601:5601
    links:
      - elasticsearch_new_1
    networks:
      - elastic
    depends_on:
      - elasticsearch_new_1

volumes:
  es:
    driver: local
  db:
    driver: local
  elasticsearch_new_1:
    driver: local

networks:
  elastic:
    driver: bridge

elasticsearch 在 9200 端口运行时效果很好。我曾尝试创建 kibana.yml 但它并没有改变任何东西。在elasticsearch中,报错如下:

["java.lang.IllegalStateException: Received message from unsupported version: [1.0.0] minimal compatible version is: [6.8.0]",
        elasticsearch_new_1    | "at org.elasticsearch.transport.InboundMessage.ensureVersionCompatibility(InboundMessage.java:152) ~[elasticsearch-7.6.2.jar:7.6.2]",
    elasticsearch_new_1    | "at org.elasticsearch.transport.InboundMessage.access$000(InboundMessage.java:37) ~[elasticsearch-7.6.2.jar:7.6.2]",
    elasticsearch_new_1    | "at org.elasticsearch.transport.InboundMessage$Reader.deserialize(InboundMessage.java:70) ~[elasticsearch-7.6.2.jar:7.6.2]",
    elasticsearch_new_1    | "at org.elasticsearch.transport.InboundHandler.messageReceived(InboundHandler.java:114) ~[elasticsearch-7.6.2.jar:7.6.2]",
    elasticsearch_new_1    | "at org.elasticsearch.transport.InboundHandler.inboundMessage(InboundHandler.java:103) ~[elasticsearch-7.6.2.jar:7.6.2]",
    elasticsearch_new_1    | "at org.elasticsearch.transport.TcpTransport.inboundMessage(TcpTransport.java:667) [elasticsearch-7.6.2.jar:7.6.2]",
    elasticsearch_new_1    | "at org.elasticsearch.transport.netty4.Netty4MessageChannelHandler.channelRead(Netty4MessageChannelHandler.java:62) [transport-netty4-client-7.6.2.jar:7.6.2]",
    elasticsearch_new_1    | "at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:326) [netty-codec-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:300) [netty-codec-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:241) [netty-handler-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1422) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:931) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:700) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.channel.nio.NioEventLoop.processSelectedKeysPlain(NioEventLoop.java:600) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:554) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:514) [netty-transport-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050) [netty-common-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.43.Final.jar:4.1.43.Final]",
    elasticsearch_new_1    | "at java.lang.Thread.run(Thread.java:830) [?:?]"] }

根据这条消息:当 Elasticsearch 在 9200 端口运行时,Kibana 正在使用客户端 1.0.0

["java.lang.IllegalStateException: Received message from unsupported version: [1.0.0] minimal compatible version is: [6.8.0]",

Elasticsearch 在 localhost:9299 中运行良好

有人知道吗?

谢谢

【问题讨论】:

  • 你试过了吗:端口:- 9299
  • @hamidbayat 是的,Elasticsearch 在 localhost:9299 中运行良好
  • 所以试试 ELASTICSEARCH_HOSTS=localhost:9299
  • @hamidbayat 你可能误解了这个概念,这里ELASTICSEARCH_HOSTS=http://elasticsearch_new_1:9299 是关于端口而不是主机名,因为ELASTICSEARCH_HOSTS=http://elasticsearch_new_1:9200 效果很好。
  • 我不明白您为什么使用 9299:9200。应该是 9200:9200 或 9299:9299

标签: docker elasticsearch kibana kibana-7


【解决方案1】:

我通过环境更改 Elasticsearch 的端口使其工作,我的意思是我更改了 elasticsearch 容器的端口号。以下是最重要的变化:

  1. http.port=9201-9301 在环境中
  2. 9201:92019301:9301 在端口中。

完整的 docker-compose.yml:

version: '3.2'
services:
  elasticsearch_new_1:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.6.2
    container_name: elasticsearch_new_1
    environment:
      - node.name=kw-new
      - cluster.name=kw-new
      - discovery.type=single-node
      - http.port=9201-9301
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - elasticsearch_new_1:/usr/share/elasticsearch/data
    ports:
      - 9201:9201
      - 9301:9301
    networks:
      - elastic

  kibana_2:
    image: docker.elastic.co/kibana/kibana:7.6.2
    container_name: kibana_2
    environment:
      - SERVER_NAME=KW_Kibana
      - ELASTICSEARCH_HOSTS=http://elasticsearch_new_1:9201
    ports:
      - 5601:5601
    links:
      - elasticsearch_new_1
    networks:
      - elastic
    depends_on:
      - elasticsearch_new_1

volumes:
  es:
    driver: local
  db:
    driver: local
  elasticsearch_new_1:
    driver: local

networks:
  elastic:
    driver: bridge

【讨论】:

    猜你喜欢
    • 2017-03-13
    • 2019-10-25
    • 2018-03-29
    • 2018-11-05
    • 2019-03-11
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    • 2021-06-21
    相关资源
    最近更新 更多