无法在 Shield Elasticsearch 中添加管理员 - [错误] 无法找到或加载主程序 class org.elasticsearch.shield.authc.esusers.tool.ESUsersTool

Can't add admin in Shield Elasticsearch - [Error]Could not find or load main class org.elasticsearch.shield.authc.esusers.tool.ESUsersTool

我正在试用 Shield 作为我的 Kibana 和 Elasticsearch 的安全措施。 运行 Mac OS X 10.9.5

遵循 Elastic 中的文档。设法安装Shield。因为我的 Elasticsearch 是 运行 自动的,所以我跳过了第 2 步(启动 elasticsearch)。

对于第 3 步,我尝试添加管理员。 运行 在我的终端上执行以下命令。 bin/shield/esusers useradd admin -p password -r admin.

不幸的是,我遇到了这个错误。

Error: Could not find or load main class org.elasticsearch.shield.authc.esusers.tool.ESUsersTool

以下是我采取的额外步骤。

  1. 再次检查 bin/shield esusers 路径是否存在以及所有路径。
  2. 添加用户前手动启动elasticsearch
  3. 根据文档尝试了各种不同的命令。 bin/shield/esusers useradd admin -r adminbin/shield/esusers useradd es_admin -r admin
  4. 运行那些带sudo的命令

产生了同样的错误。似乎也找不到 google 上的问题。不太确定我在这里遗漏了什么,因为文档看起来很简单。

必须重新启动节点,因为新的Java类被添加到它(来自Shield插件)并且Elasticsearch背后的JVM需要重新加载那些 类。只有重新启动它才能做到这一点。

终止进程并重新启动,或使用curl -XPOST "http://localhost:9200/_shutdown"关闭集群。

另外,集群中的所有节点都需要安装Shield插件。