当前位置: 首页 > 知识库问答 >
问题:

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

田翰林
2023-03-14

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

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

我的目标是通过接收器将apache flink中的数据放入elasticsearch,但每次执行我的程序时都会出现java错误:

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

我还尝试通过"-p0.0.0.0:9300: 9300"打开端口9300,或者使用官方docker容器进行elasticsearch

是否有人也遇到了这个问题,并有任何解决方案?我想尝试的下一件事是在我的机器上本地安装elasticsearch,但我认为docker方式更有价值。

以下是我的flink代码以及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()));

用于编制索引的卷曲:

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个答案

戚勇
2023-03-14

创建docker compose文件docker compose。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通信

创建内容

curl-XPUT“http://localhost:9200/playground/equipment/1“-d”{“类型”:“幻灯片”,“数量”:2}”

阅读内容

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

如何使用CRUD操作与ElasticSearch中的数据交互

 类似资料:
  • 我试图在开发Spring Boot应用程序时创建一个本地kibana/elastic堆栈。当我将应用程序作为单个容器启动时,我可以成功地将其连接到elastic: 所以我尝试启动提供的堆栈docker docker compose文件,可在此处找到:https://github.com/elastic/stack-docker 一切似乎都很好,我可以在localhost:5601上连接到kiban

  • 我在运行Ubuntu服务器14.04的服务器上安装了PostgreSQL 9.3。 在服务器上运行时,我得到(我猜是相关部分):

  • 问题内容: 我尝试创建Kibana和Elasticsearch,看来Kibana在识别Elasticsearch时遇到了麻烦。 这是我的步骤: 1)建立网络 2)运行Elasticsearch容器 3)运行Kibana容器 通过浏览器通过http:// localhost:9200 / 连接到Elasticsearch时,我得到JSON输出。 但是,当我打开HTTP://本地主机:5601 /我得

  • 我按照https://www.elastic.co/guide/en/elasticsearch/reference/6.5/docker.html和https://www.elastic.co/guide/en/kibana/6.5/docker.html但它似乎并没有很好地与kibana工作,ES工作正常。 我试着单独启动kibana,但最后我把它添加到了一个docker compose文件中

  • 我试图创建Kibana和Elasticsearch,似乎Kibana无法识别Elasticsearch。 以下是我的步骤: 1) 创建网络 2) 运行Elasticsearch容器 3) 运行Kibana容器 当我通过连接Elasticsearch时,我会得到一个JSON输出http://localhost:9200/通过我的浏览器。 但当我打开http://localhost:5601/我明白了

  • 我是一个新手,需要一些帮助。. 我正在使用Selenium 2.2.0和FF v7。Windows XP上的0.1 我已经成功地在IE中录制并回放了一个java脚本,但是每当我尝试在FF中执行相同的脚本时,我都会收到以下错误消息: 45000 ms后无法连接到端口7055上的主机127.0.0.1 我在很多地方读到,如果我将firefox版本降级到3.6,脚本将运行良好,但我并不热衷于降级。有人能