elasticsearch,centos,Java,elasticsearch,Centos" /> elasticsearch,centos,Java,elasticsearch,Centos" />

Elasticsearch:无法找到或加载主类org.Elasticsearch.tools.launchers.JavaVersionChecker

Elasticsearch:无法找到或加载主类org.Elasticsearch.tools.launchers.JavaVersionChecker,java,elasticsearch,centos,Java,elasticsearch,Centos,我正在使用CentOS并已下载Elasticsearch 6.2.1。我创建了一个新用户“elastic”,当我运行/bin/elasticsearch时,我得到了一个错误: Could not find or load main class org.elasticsearch.tools.launchers.JavaVersionChecker 我试着把这个用户放在一个管理组(“轮子”)中,同样的问题也发生了。如果我尝试使用“sudo./bin/elasticsearch”,我会得到: 我搜

我正在使用CentOS并已下载Elasticsearch 6.2.1。我创建了一个新用户“elastic”,当我运行/bin/elasticsearch时,我得到了一个错误:

Could not find or load main class org.elasticsearch.tools.launchers.JavaVersionChecker
我试着把这个用户放在一个管理组(“轮子”)中,同样的问题也发生了。如果我尝试使用“sudo./bin/elasticsearch”,我会得到:

我搜索了一下,发现这个错误可能是由于java版本造成的,但它似乎是最新的:

[elastic@sandbox-hdp elasticsearch-6.1.1]$ sudo update-alternatives --config java

There are 3 programs which provide 'java'.

Selection Command
1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
*+ 2 /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java
3 /usr/lib/jvm/jre-1.5.0-gcj/bin/java
如果我尝试Elasticsearch 6.1,也会发生这种情况


如有任何建议,我们将不胜感激。

如果您仍有此问题。。。或者只是出于好奇。。。查看第70行附近的文件/bin/elasticsearch env.sh,查找命令:

"$JAVA" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.JavaVersionChecker
检查它是否正确地“拼写”了您的环境,在它前面写下这个命令,看看您得到了什么:

echo "$JAVA" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.JavaVersionChecker 
就我而言。。。我在Windows机器内的Git Bash中运行,命令指向:

/c/Users/Ualter/Developer/ELKStack/elasticsearch-6.2.2/lib/*
改为:

/Users/Ualter/Developer/ELKStack/elasticsearch-6.2.2/lib/* 

当我在Windows S.O上运行时,它启动并运行Elasticsearch。我也遇到了这样一个奇怪的问题,第一次它为以root身份运行elastic引发异常,在我添加一个新用户elastic并以elastic身份运行它之后,我看到了这个异常“无法找到或加载主类org.elasticsearch.tools.launchers.JavaVersionChecker “

我通过将程序dirs移动到non/root/dirs解决了这个问题,例如,我将程序dirs移动到/opt/elk/,它就工作了


因此,出于安全考虑,elastic可能不允许以root用户身份运行,因此我们无法将程序放入root用户目录。希望它能为您提供一些提示。

您似乎没有正确的权限。请尝试将其设置为774(rwxr--),然后再次检查:

sudo chmod 774 -R elasticsearch-6.3.2/

我正在努力在Windows上使用elasticsearch 6.7.1

我在运行bin/elasticsearch.bat时出现了这个错误

长话短说,我的java版本和弹性搜索可能有问题,它无法运行JAR(使用Java8211)

我从这里安装了最后一个ElasticSearch 6.x:


并取消设置我创建的现有ES_HOME和ES_CLASSPATH环境变量,一切都很顺利。

我正在使用elasticsearch 6.7,然后将第36行中的文件“elasticsearch env”从:ES_CLASSPATH=“$ES_HOME/lib/*”更改为:ES_CLASSPATH=“/Users/Username/Desktop/elasticsearch-6.7.1/lib/*”
sudo chmod 774 -R elasticsearch-6.3.2/