Cannot install search-guard - "ERROR: `elasticsearch` directory is missing in the plugin zip"
Cannot install search-guard - "ERROR: `elasticsearch` directory is missing in the plugin zip"
如主题所述,我在尝试为我的 ELK 堆栈安装 search-guard 插件时遇到问题:
[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
我尝试从自定义目录执行此操作,然后从家里跟随 ,但没有帮助。当我解压缩存档时,我可以看到那里有一个名为 "elasticsearch" 的目录:
有人对如何进行有任何建议吗?
错误来自 lib\plugin-cli-x.x.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");
}
我知道这对你帮助不大,但作为最后的努力,如果你不能找到问题的根本原因,我为克服障碍所做的一件事就是复制将 zip 文件中的文件放入 es 插件目录(在我们的例子中为 /usr/share/elasticsearch/plugins
)。它们在 /plugins 中,但在一个目录下,这是 Elasticsearch 识别插件的名称。
仅有的 2 个问题是:
- 您需要知道要在 /plugins 下创建的目录名称。
- 您需要知道插件-descriptor.properties 文件的替换值。
如果你能做到这一点,你就可以启动 ES,它应该可以正常加载所有内容。
如主题所述,我在尝试为我的 ELK 堆栈安装 search-guard 插件时遇到问题:
[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
我尝试从自定义目录执行此操作,然后从家里跟随
有人对如何进行有任何建议吗?
错误来自 lib\plugin-cli-x.x.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");
}
我知道这对你帮助不大,但作为最后的努力,如果你不能找到问题的根本原因,我为克服障碍所做的一件事就是复制将 zip 文件中的文件放入 es 插件目录(在我们的例子中为 /usr/share/elasticsearch/plugins
)。它们在 /plugins 中,但在一个目录下,这是 Elasticsearch 识别插件的名称。
仅有的 2 个问题是:
- 您需要知道要在 /plugins 下创建的目录名称。
- 您需要知道插件-descriptor.properties 文件的替换值。
如果你能做到这一点,你就可以启动 ES,它应该可以正常加载所有内容。