ElasticSearch和Java环境变量
对于Windows 7,我已经在32位和64位版本中安装了JDK。 版本为8,所有四个安装的更新20。 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
当我下载并解压弹性搜索,并运行/bin/service.bat或/bin/elasticsearch.bat文件时,我进入我的终端:
JAVA_HOME environment variable must be set! Press any key to continue . . .
当我这样做时,终端关闭。
我已经卸载并重新安装,但是没有解决它。 为什么环境变量不会被设置? 它是安装的东西,还是我实际上必须手动设置变量。 它似乎如果安装正确,它会自动设置变量…请帮助。 谢谢
我使用它手动设置JAVA_HOME环境变量。
https://confluence.atlassian.com/display/DOC/Setting+the+JAVA_HOME+Variable+in+Windows
我的路径是C:\Progra~1\Java\jdk1.8.0_20\jre
现在,当我运行service.bat时,终端在打开时立即关闭。 当我运行elasticsearch.bat时,终端会打印一些行,过了一会儿,它就会停留在那里,我无法输入任何内容。
编辑:
我卸载了所有java,只重新安装了JRE 64位,并将系统环境变量设置为JAVA_HOME
和`C:\ Progra~1 \ Java \ jre1.8.0_20
我发现有一个CLASSPATH
被设置为一个32位,更旧的java版本。 我应该删除该变量吗?
步骤1
你能否validationJAVA_HOME
设置为C:\Progra~1\Java\jdk1.8.0_20
,
C:\>echo %JAVA_HOME%
另外,validationjava
命令是否可用,
java -version
参考
使用批处理脚本检查环境中是否存在JAVA_HOME
第2步
如果未设置JAVA_HOME
,请按照此处提供的步骤 – 如何在Windows中设置Java Home
总结 ,
- 右键单击桌面上的“ 我的电脑”图标 ,然后选择“属性”。
- 单击“高级”选项卡。 单击“ 环境变量”按钮。 在“系统变量”下,单击“ 新建” 。
- 输入变量名称JAVA_HOME。
-
输入变量值作为JDK的安装路径。
(例如,
C:\Progra~1\Java\jdk1.8.0_20
)。 - 单击确定。
- 单击应用更改。
如果您没有设置环境变量的权限,则解决方法:
打开elasticsearch.bat文件,
a)删除该行:
if NOT DEFINED JAVA_HOME goto err
b)用你的java jdk路径替换%JAVA_HOME%,例如:C:\ Program Files \ Java \ jdk1.7.0_51
并且对于您的终端开始并且您无法键入任何内容,它是elasticsearch服务器,您需要使用像cygwin这样的客户端连接到它。
https://cygwin.com/install.html
要连接到服务器,请参阅elasticsearch文档。
http://www.elasticsearch.org/guide/
一个类似的问题已经得到回答:
在弹性搜索中使用service install命令“JAVA_HOME指向无效的Java安装问题”
运行以下命令:
set JAVA_HOME=C:\Program Files\Java\jre8
我遇到了类似的问题,其中Java home已经设置但仍然是抛出错误。 如果你已经设置了java home,打开elasticsearch-plugin.bat文件并将“IF DEFINED JAVA_HOME”更改为“IF DEFINED%JAVA_HOME%”。
谢谢
您可以通过单击“开始”,指向“计算机”,右键单击并选择属性来设置系统范围的环境变量。 接下来,单击“高级系统设置”,点击“高级”选项卡,然后选择“环境变量”按钮。 这会打开一个窗口,您可以在其中设置JAVA_HOM
E变量。 您可以为当前用户(顶部框)或系统范围执行此操作。
执行此操作后,打开一个新的cmd窗口(“开始”菜单,键入“ cmd
”并按Enter键)并validationJAVA_HOME
的设置方式与上述问题类似。
这是很常见的错误,JAVA_HOME环境没有设置。 因此,我们需要在更加突出的基础上进行设置。 它要求jre目录的路径而不是bin目录,即用于配置和运行elasticsearch的java环境路径。 因此,请确保未在路径中指定bin目录。 然后,你很高兴去运行你的弹性搜索,它将在默认端口9200启动并运行。
在设置%JAVA_HOME%
环境变量后,我仍然无法运行它。 对我来说问题是我应该以管理员身份运行elasticsearch.bat
文件 。 这解决了这个问题。
请参阅,您只需要执行以下操作:(不要删除已设置的任何环境变量)
- 第1步:编辑位于\ bin中的elasticsearch-service.bat
- 第2步:在开头添加以下行(在@echo下面)SET JAVA_HOME = C:\ Program Files \ Java \ jdk1.8.0_162(或您的Java路径)
- 第3步:在同一个文件中找到%% JAVA_HOME %%并将其替换为%JAVA_HOME%
- 第4步:然后从bin文件夹中的cmd运行:elasticsearch-service.bat install
- 第5步:就是这样,只需从cmd运行elasticsearch-service即可运行。
- 使用Java API从Elasticsearch获取所有记录
- NoSuchMethodError:com.google.common.util.concurrent.MoreExecutors.directExecutor在Elastic Search jar上进行conflits
- Elasticsearch – NoNodeAvailableException
- ElasticSearch索引问题TransportSerializationException
- ElasticSearch一个edgeNGram用于自动完成\ typeahead,是我的search_analyzer被忽略
- 使用elasticsearch对文本进行分类
- Spring Data Elasticsearch:具有相同文档的多索引
- 如何在Java或Python中使用文件系统缓存?
- Elasticsearch提高了查询性能