You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows笔记本上同时运行ES 1.7.5与ES 8.9.0(非Docker方式)

在Windows本地同时运行Elasticsearch 1.7.5和8.9.0的解决方案

核心解决思路

ES 1.7.5依赖JDK 8(或更低版本),ES 8.9.0自带JDK 17,同时启动时会因系统全局JDK环境冲突报错。核心解决方式是给两个版本指定独立的JDK运行环境,同时修改端口避免资源占用冲突。

1. 准备对应版本的JDK

  • ES 1.7.5:下载并解压适配的JDK 8(OpenJDK或Oracle JDK均可)到独立目录,比如D:\jdk8
  • ES 8.9.0:无需额外下载JDK,它自带的JDK 17位于安装目录的jdk子文件夹中

2. 为每个ES版本配置专属JDK

针对ES 1.7.5

打开安装目录下的bin\elasticsearch.bat,在文件最开头添加以下命令,强制该实例使用指定的JDK 8:

set JAVA_HOME=D:\jdk8
set PATH=%JAVA_HOME%\bin;%PATH%

针对ES 8.9.0

它默认会自动使用自带的JDK 17,无需额外配置。若出现识别问题,可打开bin\elasticsearch.bat,在开头添加:

set JAVA_HOME=D:\elasticsearch-8.9.0\jdk
set PATH=%JAVA_HOME%\bin;%PATH%

(路径替换为你的ES 8.9.0实际安装目录)

3. 修改端口避免冲突

两个ES实例默认端口相同,需修改其中一个的端口:

修改ES 1.7.5的端口

打开config\elasticsearch.yml,修改以下配置项:

http.port: 9201
transport.tcp.port: 9301

(可选)修改ES 8.9.0的端口

若需要,同样编辑config\elasticsearch.yml:

http.port: 9202
transport.tcp.port: 9302

4. 启动并验证

  • 先双击运行ES 1.7.5的elasticsearch.bat,待控制台输出启动完成的日志后,再启动ES 8.9.0的elasticsearch.bat
  • 验证:分别访问http://localhost:9201(ES 1.7.5)和http://localhost:9200(ES 8.9.0),能返回对应版本的JSON响应即成功

额外注意事项

  • 两个ES实例的data和logs目录必须独立,禁止共用,防止数据损坏或日志混乱
  • ES 8.9.0默认开启安全验证(HTTPS、账号密码),开发阶段可关闭以简化操作:编辑config\elasticsearch.yml,添加/修改:
    xpack.security.enabled: false
    xpack.security.enrollment.enabled: false
    xpack.security.http.ssl.enabled: false
    xpack.security.transport.ssl.enabled: false
    

内容的提问来源于stack exchange,提问作者Pratyush Dhanuka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 00:52:54