Elasticsearch 无法在 centos 上启动,权限被拒绝

Elasticsearch won't start on centos, permission denied

我是这样安装elasticsearch的: 检索 windows 上的 tar.gz,将其解压并压缩 在服务器上通过 ssh 上传 zip 并使用 'unzip file' 解压它。

我修改了 elasticsearch 文件,让它有这一行

export JAVA_HOME = "/home/xxx/project1/jdk1.8.0_73_linux64"

正下方

#!/bin/sh

现在,当我进入 /home/xxx/project1/elasticsearch/bin 并输入

./elasticsearch

我明白了

-bash: ./elasticsearch: Permission denied

我该怎么做才能获得有关该问题的更多信息? 我以用户 xxx

登录

谢谢。

尝试使用包 Yum Install for elasticsearch.

安装

否则试试: 听起来像是用户权限访问文件。

  • 确保您已经下载了 linux 发行版(可选)因为您已经提到了它的 tar.gz。
  • 如果您使用 sudo 命令提取,则需要将 elasticsearch 文件夹的用户权限更改为登录用户,或者使用 sudo 命令[=29= 启动 elasticsearch ]

sudo ./elasticsearch -d

  • 检查执行权限,如果没有,请按照以下命令执行相同的操作

sudo chmod +x /home/xxx/project1/elasticsearch/bin/elasticsearch.sh

尝试一下,如果不行请创建聊天室 window 并邀请我。

问题是,您安装了 elastic 并以 root 身份登录。现在您肯定不是以 root 身份登录的。如果您以具有 root 权限的用户身份工作,您可能可以启动 elastic,但它告诉您,您不能 运行 作为 root 用户。您的弹性文件夹的所有者是 root(他安装了它)。因此,您需要做的就是将文件夹的所有者更改为您的 xxx-user(让他 运行 弹性)。您可以轻松地执行命令:

chown -R new_owner path

例如用户为xxx,路径为/opt/elasticsearch-2.3.5:

chown -R xxx /opt/elasticsearch-2.3.5

“-R”参数确保不仅文件夹,而且里面的所有文件都会递归地更改您提供的所有者。

展望未来,我会立即说 ES 应用程序 无法使用 使用 sudo

在我的情况下 ES 6.8.1 版本 ubuntu 我使用以下步骤解决了问题:

  1. 将当前用户(或任何其他用户)添加到 ES 组:

    sudo adduser <yourName> elasticsearch

  2. 增加执行ES的可能性:

    sudo chmod +x /usr/share/elasticsearch/bin/elasticsearch

  3. 然后我更改了一些路径的所有者**,在我的例子中是:

    sudo chown -R <yourName>:elasticsearch /etc/default/elasticsearch

    sudo chown -R <yourName>:elasticsearch /etc/elasticsearch

    sudo chown -R <yourName>:elasticsearch /var/log/elasticsearch

**我启动了几次应用,然后查看我没有权限的地方

然后我开始。/usr/share/elasticsearch/bin/elasticsearch 并在端口 9200 上看到 long-awaited JSON :)

希望这会对某人有所帮助。