ElasticSearch 8.2.0版本访问9200端口,返回Empty reply from server

Docker安装ElasticSearch 8.2.0版本后,使用curl 访问 127.0.0.1:9200端口,返回Empty reply from server

 

 出现问题的情况可能如下:
1、ElasticSearch未启动、或是内存不足、启动失败

2、防火墙未关闭

3、ElasticSearch自带的访问机制

思考后记录一下对应的解决方案:

1、docker 启动ElasticSearch的命令 

  docker 命令格式 docker run [OPTIONS]  IMAGE [COMMAND] [ARG...]  

  docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -d elasticsearch:8.2.0

  --name: 指定容器名字

  -p: 指定容器暴露的端口

  -e: 指定环境变量

  -d: 指定容器前台或后台运行,默认为false,后台

  最后指定使用的镜像文件

2、打开防火墙

firewall-cmd --zone=public --add-port=1234/tcp --permanent //开放1234端口,永久有限

3、修改Docker下的ES配置文件

  1、重新挂载目录

     将Docker下 ES文件夹中的config导出,修改配置后,挂载至Docker中。步骤过多修改麻烦、我未采用。 

  2、改写Docker中的ES配置文件

     在Docker中直接修改ES文件,然后重新启动ES。

    步骤:

      1、将Docker中ES配置文件导出

        docker ps //查看ES的应用ID

 

         1)拷贝出来 docker cp [容器ID]:/usr/share/elasticsearch/config/elasticsearch.yml /elasticsearch.yml 

        2)修改完成后拷贝回去 docker cp /elasticsearch.yml [容器ID]:/usr/share/elasticsearch/config/elasticsearch.yml 

      2、重启命令 docker restart elasticsear(--name 所起的名字)

posted @ 2023-02-23 15:33  我就进来看看  阅读(1872)  评论(0)    收藏  举报