• ElasticSearch 不同JDK版本兼容的问题


    问题描述:

      由于我们使用的是ElasticSearch的最新版本(基于1.8的JDK)。而客户机器上的版本是1.7 的。客户的机器上已经有现有的项目在跑了,所以当然不能让他们去版本升级了。既然这样,我们的ElasticSearch服务没有办法运行,我们的项目也没有办法跑,也就没有办法结项啊。

    解决方式描述:

      1.遇到问题自然找搜索引擎(百度),百度到一个好心博主的位置 http://blog.csdn.net/q979076061/article/details/72830664

      也就是修改这个文件的配置了

      就是上面那两个指定Java_Home的变量了。

      安装1.8的JDK后,新配置一个ES_JAVA_HOME的路径(不需要再配置Path的路径了)

      使用ES_JAVA_HOME替换掉上面的那两个变量。

      然后,保存,启动ES服务! 期待完美地解决ing……

      依然报了 “Elasticsearch requires at least Java 8 but your Java version from XXXX does not meet this requirement”

      黑人脸问号……我又没有接触过JAVA这怎么解决啊。。

      好了,是时候说一点调试技巧了。一般代码有文本提示的时候,都是会有相关目录的,只要找到具体的配置文件,就好解决了。上面的错误提示是在“elasticsearch.in.bat”这个文件下的。那么……在那个文件下依然会有一个叫 %JAVA_HOME%的相关配置。具体的修改方式就已经很明显了:把那个文件的JAVA_HOME 替换成我们新建的  ES_JAVA_HOME。

      然后保存,启动ES服务!完美~

      (JAVA程序果然配置高深。。)

    后话:

      其实还有一种不完美的解决方式,就是写批处理。基于思路就是在写运行ElasticSearch前,修改JAVA_HOME的路径。然后再启动ES服务,但是这样子做很不稳定:

      1.需要开机启动

      2.如果服务意外中断,那么还需要人手动地去运行批处理,或者写程序监听服务运行状况。

      不过做为扩展思路,就把批处理的代码贴出来,聊以娱乐:

      

    @echo off

    cd D:Projectelasticsearch-5.5.2in
    D:
    echo 修改ElasticSearch的JRE路径...
    set JAVA_HOME=123
    echo ElasticSearch的JRE路径修改成功...
    echo %JAVA_HOME%
    echo 启动ElasticSearch服务...
    start elasticsearch-service-x64.exe
    REM echo 按任意键退出...

    pause;

    感谢我的同事们给我提供思路和指导

  • 相关阅读:
    识人高招:六招看清一个人
    让工作变简单的10种技巧
    推销中的五大提问技巧
    给初次签约大学生的忠告
    只要有钱50岁男人也嫁
    我老公一个月赚15000,但是幸福在哪呢?(转载)
    想法简单,生命更宽!
    中国经典到吐血的谎话
    你的思想是你最大的敌人
    完美人生从哪里起步
  • 原文地址:https://www.cnblogs.com/everydaygift/p/7589273.html
Copyright © 2020-2023  润新知