elasticsearch,Ubuntu,elasticsearch" /> elasticsearch,Ubuntu,elasticsearch" />

Ubuntu 无法重新启动elasticsearch

Ubuntu 无法重新启动elasticsearch,ubuntu,elasticsearch,Ubuntu,elasticsearch,我把elasticsearch版本2.3.3安装在ubuntu版本14.04的虚拟机上。我已尝试重新启动elasticsearch服务,但在重新启动后,我用sudo service elasticsearch status检查了状态,结果返回*elasticsearch未运行。当我尝试使用sudo服务elasticsearch start启动它时,它返回*启动elasticsearch服务器,但检查状态后发现它没有运行 我试图通过输入/usr/share/elasticsearch/bin/el

我把elasticsearch版本2.3.3安装在ubuntu版本14.04的虚拟机上。我已尝试重新启动elasticsearch服务,但在重新启动后,我用
sudo service elasticsearch status
检查了状态,结果返回
*elasticsearch未运行
。当我尝试使用
sudo服务elasticsearch start
启动它时,它返回
*启动elasticsearch服务器
,但检查状态后发现它没有运行

我试图通过输入
/usr/share/elasticsearch/bin/elasticsearch
(二进制文件的路径)手动启动它,但在开始时,我遇到以下错误:

Exception in thread "main" ElasticsearchException[Failed to load logging configuration]; nested: NoSuchFileException[/usr/share/elasticsearch/config];
Likely root cause: java.nio.file.NoSuchFileException: /usr/share/elasticsearch/config
    at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
    at sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55)
    at sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:144)
    at sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:97)
    at java.nio.file.Files.readAttributes(Files.java:1686)
    at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:109)
    at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:69)
    at java.nio.file.Files.walkFileTree(Files.java:2602)
    at org.elasticsearch.common.logging.log4j.LogConfigurator.resolveConfig(LogConfigurator.java:142)
    at org.elasticsearch.common.logging.log4j.LogConfigurator.configure(LogConfigurator.java:103)
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:243)
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Refer to the log for complete error details.
错误表明无法找到日志记录配置,因此我按照中的建议创建了一个符号链接:
sudo ln-s/etc/elasticsearch//usr/share/elasticsearch/config

之后,当通过
/usr/share/elasticsearch/bin/elasticsearch
运行弹性搜索时,我遇到以下错误:

Exception in thread "main" ElasticsearchException[Failed to load logging configuration]; nested: AccessDeniedException[/usr/share/elasticsearch/config];
Likely root cause: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/config
    at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
    at sun.nio.fs.UnixFileSystemProvider.newDirectoryStream(UnixFileSystemProvider.java:426)
    at java.nio.file.Files.newDirectoryStream(Files.java:413)
    at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:179)
    at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:69)
    at java.nio.file.Files.walkFileTree(Files.java:2602)
    at org.elasticsearch.common.logging.log4j.LogConfigurator.resolveConfig(LogConfigurator.java:142)
    at org.elasticsearch.common.logging.log4j.LogConfigurator.configure(LogConfigurator.java:103)
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:243)
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Refer to the log for complete error details.
尝试以root身份(
sudo/usr/share/elasticsearch/bin/elasticsearch
)时,我收到以下错误:

Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.
    at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93)
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144)
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:270)
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Refer to the log for complete error details.
这不是我第一次面对这个问题。我在另一个虚拟机上遇到了完全相同的问题(第一个例外是找不到logging config),并试图通过创建路径
/usr/share/elasticsearch/config
并将配置文件(elasticsearch.yml和logging.yml)复制到该虚拟机来解决这个问题。之后,我又遇到了第二个问题(以普通用户身份运行-拒绝访问,不允许以root用户身份运行)


有人知道这个问题吗?欢迎任何帮助

您是否尝试过执行以下操作:

1) 创建目录

$ mkdir -p /usr/share/elasticsearch/config/scripts
2) 通过日志和配置文件进行复制

$ cp /etc/elasticsearch/elasticsearch.yml /user/share/elasticshare/config
$ cp /etc/elasticsearch/logging.yml /user/share/elasticshare/config
3) 更改这些文件的权限或所有权

$ sudo chmod g+rwx /usr/share/elasticsearch/config/elasticsearch.yml /usr/share/elasticsearch/config/logging.yml 
$ sudo chmod o+rwx /usr/share/elasticsearch/config/elasticsearch.yml /usr/share/elasticsearch/config/logging.yml

在我的案例中,以下链接起到了帮助作用:

ln -s /etc/elasticsearch/ /usr/share/elasticsearch/config

谢谢,但这与我在问题描述页面中提到的链接相同,比如运行elasticsearch的用户没有访问
/etc/elasticsearch
中文件的权限。Elasticsearch通常作为
Elasticsearch
用户运行。因此,不妨尝试一下chown-R elasticsearch/etc/elasticsearch/*请附加输出id命令,“cat/usr/share/elasticsearch/config”是否正常工作?谢谢您的帮助!我试图通过一步一步地跟踪错误消息来解决这个问题,因此我编辑了config dir、elasticsearch.yml和patterns dir的访问权限。后来,我不得不创建另一个指向data dir的sym链接,但所有这些都没有帮助(在这个级别上,启动服务需要花费很长时间,没有任何输出),所以我只是重新安装了elasticsearch。幸运的是,没有删除任何数据!现在,由于安装了“按查询删除”插件而重新启动节点后,elastisearch不会启动。键入
chown-R elasticsearch/etc/elasticsearch/*
作为root提供的
chown:无法访问'/etc/elasticsearch/*':没有这样的文件或目录
,尽管可以通过
ls
找到该目录(仅可由root访问)
cat/usr/share/elasticsearch/config
不起作用,因为config目录不存在(这就是为什么我创建了sym链接,但后来删除了它)。我以前曾通过sym链接尝试过类似的方法(我认为这具有类似的效果)。现在我得到了如下新错误:
java.io.FileNotFoundException:/usr/share/elasticsearch/logs/elasticsearch.log(权限被拒绝)
java.io.FileNotFoundException:/usr/share/elasticsearch/logs/elasticsearch\u deprecation.log(权限被拒绝)
java.io.FileNotFoundException:/usr/share/elasticsearch/logs/elasticsearch\u index\u index\u slowlog.log(权限被拒绝)
和另外两个类似错误。很遗憾,我无法上传完整的登录评论。我应该更改所有权吗?以下是剩余的两个日志:
java.io.FileNotFoundException:/usr/share/elasticsearch/logs/elasticsearch\u index\u search\u slowlog.log(权限被拒绝)
线程“main”java.lang中的异常。非法状态异常:无法访问“path.data”(/usr/share/elasticsearch/data)
这些只是每个错误的第一行现在更改所有权后我只得到最后一个错误:
log4j:error未能将[/usr/share/elasticsearch/logs/elasticsearch.log]重命名为[/usr/share/elasticsearch/logs/elasticsearch.log.2016-09-01]。线程“main”java.lang.IllegalStateException中的异常:无法访问“path.data”(/usr/share/elasticsearch/data)可能的根本原因:java.nio.file.AccessDeniedException:/usr/share/elasticsearch/data
我是否应该创建/usr/share/elasticsearch/data文件夹并将/var/lib/elasticsearch/的内容移动到其中?是,首先确保在elasticsearch.yml中配置的数据目录与“/var/lib/elasticsearch/data”相同。另外,您是否尝试过在没有elasticsearch用户sudo的情况下运行该服务?将内容移动到数据目录后,我在线程“main”java.lang.IllegalStateException中遇到以下错误
异常:无法加载现有插件的插件描述符[plugin descriptor.properties]。这个插件是在2.0之前构建的吗?可能的根本原因:java.nio.file.FileSystemException:/usr/share/elasticsearch/plugins/plugin-descriptor.properties/plugin-descriptor.properties:不是目录
,因此我删除了“按查询删除”插件,之后启动elasticsearch只提供一些信息和警告消息,但没有错误,而且它不起作用。