代码之家  ›  专栏  ›  技术社区  ›  Mo0812

无法连接到docker中端口9300上的elasticsearch

  •  1
  • Mo0812  · 技术社区  · 7 年前

    我正在本地机器上通过docker运行elasticsearch,可以通过端口9200上的RESTAPI正常访问它。

    Apache flink用于通过端口9300与elasticsearch通信。

    Elasticsearch client is not connected to any Elasticsearch nodes!
    

    运行容器的docker命令如下所示:

    docker run --rm -d -p 9200:9200 -p 9300:9300 -p 5601:5601 --name es-kibana nshou/elasticsearch-kibana
    

    我还尝试在“-p 0.0.0.0:9300:9300”上打开端口9300,或者使用官方docker容器进行elasticsearch。

    List<InetSocketAddress> transports = new ArrayList<>();
        transports.add(new InetSocketAddress(InetAddress.getByName("0.0.0.0"), 9300));
    
        tweets.addSink(new ElasticsearchSink<Tuple2<String, Integer>>(
                config,
                transports,
                new ESSink()));
    

    索引ES的卷曲:

    curl --request PUT --url http://localhost:9200/twitter-bd
    

    映射ES的旋度:

    curl --request PUT 
    --url http://localhost:9200/twitter-bd/_mapping/twitter-wordcount \
    --header 'content-type: application/json' \
    --data '{
        "twitter-wordcount": {
            "properties": {
                "word": {"type": "string"},
                "cnt": {"type": "integer"}
            }
         }
    }'
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Jinna Balu    7 年前

    docker撰写。yml公司

    version: '2'
    services:
        elasticsearch:
            container_name: elasticsearch
            image: elasticsearch:2.4.1
            # UNCOMMENT BELOW LINES TO HAVE PERSISTAN STORAGE
            # volumes:
            #     - /var/db/elasticsearch/:/usr/share/elasticsearch/data/
            ports:
                - 9200:9200
                - 9300:9300
    

    运行

    docker compose up-d

    使用9300端口与ES通信

    创建内容

    卷曲-XPUT“ http://localhost:9200/playground/equipment/1

    阅读内容

    卷曲-XGET“ http://localhost:9200/playground/equipment/1 "

    How To Interact with Data in ElasticSearch Using CRUD Operations