正如主题所述,我在试图为我的ELK堆栈安装搜索保护插件时遇到了一个问题:
[XXX@XXXX bin]$ ./elasticsearch-plugin install -b file:///home/xxxx/search-guard-6-6.2.1-21.0.zip
-> Downloading file:///home/xxxx/search-guard-6-6.2.1-21.0.zip
[=================================================] 100%Â Â
ERROR: `elasticsearch` directory is missing in the plugin zip然后,我试图从自定义目录中执行此操作,然后从家里跟踪this answer,但是没有帮助。当我解压缩存档时,我可以看到有一个名为"elasticsearch“的目录:

有谁有什么建议怎么做吗?
发布于 2018-08-03 03:41:59
这个错误来自lib\plugin-cli-x.jar中的InstallPluginCommand.class,这正是其中的意思。在通过zip文件中的条目读取代码时,下面是代码的一个剪辑部分:
ZipInputStream zipInput = new ZipInputStream(Files.newInputStream(zip));
try {
ZipEntry entry;
while((entry = zipInput.getNextEntry()) != null) {
if (entry.getName().startsWith("elasticsearch/")) {
hasEsDir = true;
...
}
}
if (!hasEsDir) {
throw new UserException(2, "`elasticsearch` directory is missing in the plugin zip");
}我意识到这对你没有多大帮助,但是作为最后的努力,如果你不能找到问题的根源,我做过的一件事就是把文件从压缩文件复制到es插件目录(在我们的例子中是/usr/share/elasticsearch/plugins)。它们位于/plugins中,但位于一个目录下,该目录是Elasticsearch知道插件的名称。
唯一的两个问题是:
如果你能走那么远,你可以启动ES,它应该可以加载所有的东西。
https://stackoverflow.com/questions/51590057
复制相似问题