Elasticsearch 2.0 插件安装信息

Elasticsearch 2.0 plugin installation INFO

我开始使用 Elasticsearch 2.0。我有一个用于 Elasticsearch 的插件,但无法在新版本 2.0 上安装它。它给出了一个错误:

/Downloads/elasticsearch-2.0.0/bin$ ./plugin install file:///home/fatih/Downloads/myftptest/zemberekplugin.zip
-> Installing from file:/home/fatih/Downloads/myftptest/zemberekplugin.zip... 
Trying file:/home/fatih/Downloads/myftptest/zemberekplugin.zip ... 
Downloading .......DONE 
Verifying file:/home/fatih/Downloads/myftptest/zemberekplugin.zip checksums if available ... 
NOTE: Unable to verify checksum for downloaded plugin (unable to find .sha1 or .md5 file to verify) 
ERROR: Could not find plugin descriptor 'plugin-descriptor.properties' in plugin zip 

我该如何解决?

插件的安装方式发生了变化。上面的正确命令现在是:

sudo bin/plugin install file:/path/to/plugin.zip

https://www.elastic.co/guide/en/elasticsearch/plugins/2.0/installation.html

但是插件现在需要 'plugin-descriptor.properties' 文件与 .jar 文件一起包含在插件 zip 文件中

https://www.elastic.co/guide/en/elasticsearch/plugins/2.0/plugin-authors.html

https://github.com/elastic/elasticsearch/blob/master/dev-tools/src/main/resources/plugin-metadata/plugin-descriptor.properties

# Elasticsearch plugin descriptor file
# This file must exist as 'plugin-descriptor.properties' at
# the root directory of all plugins.
#
# A plugin can be 'site', 'jvm', or both.
#
### example site plugin for "foo":
#
# foo.zip <-- zip file for the plugin, with this structure:
#   _site/ <-- the contents that will be served
#   plugin-descriptor.properties <-- example contents below:
#
# site=true
# description=My cool plugin
# version=1.0
#
### example jvm plugin for "foo"
#
# foo.zip <-- zip file for the plugin, with this structure:
#   <arbitrary name1>.jar <-- classes, resources, dependencies
#   <arbitrary nameN>.jar <-- any number of jars
#   plugin-descriptor.properties <-- example contents below:
#
# jvm=true
# classname=foo.bar.BazPlugin
# description=My cool plugin
# version=2.0.0-rc1
# elasticsearch.version=2.0
# java.version=1.7
#
### mandatory elements for all plugins:
#
# 'description': simple summary of the plugin
description=${project.description}
#
# 'version': plugin's version
version=${project.version}
#
# 'name': the plugin name
name=${elasticsearch.plugin.name}

### mandatory elements for site plugins:
#
# 'site': set to true to indicate contents of the _site/
#  directory in the root of the plugin should be served.
site=${elasticsearch.plugin.site}
#
### mandatory elements for jvm plugins :
#
# 'jvm': true if the 'classname' class should be loaded
#  from jar files in the root directory of the plugin.
#  Note that only jar files in the root directory are
#  added to the classpath for the plugin! If you need
#  other resources, package them into a resources jar.
jvm=${elasticsearch.plugin.jvm}
#
# 'classname': the name of the class to load, fully-qualified.
classname=${elasticsearch.plugin.classname}
#
# 'java.version' version of java the code is built against
# use the system property java.specification.version
# version string must be a sequence of nonnegative decimal integers
# separated by "."'s and may have leading zeros
java.version=${maven.compiler.target}
#
# 'elasticsearch.version' version of elasticsearch compiled against
# You will have to release a new version of the plugin for each new
# elasticsearch release. This version is checked when the plugin
# is loaded so Elasticsearch will refuse to start in the presence of
# plugins with the incorrect elasticsearch.version.
elasticsearch.version=${elasticsearch.version}
#
### deprecated elements for jvm plugins :
#
# 'isolated': true if the plugin should have its own classloader.
# passing false is deprecated, and only intended to support plugins 
# that have hard dependencies against each other. If this is
# not specified, then the plugin is isolated by default.
isolated=${elasticsearch.plugin.isolated}
#

@Ianky393 我只是用一张图片来完成回答,这样更容易理解。

您需要的插件zip,通常在下载文件夹内的src文件夹中。如果一开始有 site 文件夹而不是 _site,请先将其重命名为 _site。确保 zip 内部看起来像这样。