Elasticsearch 2.2.0 插件篇:安装

北慕城南 提交于 2020-02-28 18:38:45

    Elasticsearch通过插件来增强其个性化功能需求。他们可以添加自定义映射类型,自定义分析器,本地脚本,自定义发现等等。在Elasticsearch中,有三种类型的插件:

java插件:这些插件只包含jar文件,并且必须安装在集群中的每个节点上。安装后,每个节点必须重新启动后才生效。

站点插件:这些插件包含了静态的Web内容,如JavaScript,HTML和CSS文件,点插件只需要在一个节点上安装,并且不需要重新启动就可以使用。站点插件通过url进行访问,例如:http://localhost:9200/_plugin/[plugin name]。

混合插件:混合插件是即包含jar文件又站点插件。

插件管理

    插件是通过脚本来进行管理的,可以安装插件,查询插件和删除插件。正常情况下插件位于$ES_HOME/bin下,通过rpm等安装的位置可能会不同。可以通命令获取插件帮助:在目录下执行,plugin -h

plugin -h
NAME
    plugin - Manages plugins
SYNOPSIS
    plugin <command>
DESCRIPTION
    Manage plugins
COMMANDS
    install    Install a plugin
    remove     Remove a plugin
    list       List installed plugins
NOTES
    [*] For usage help on specific commands please type "plugin <command> -h"

注意:linux需要用管理员来运行,比如sudo plugin -h

插件安装:

    每种插件都会有插件安装文档,但大多数情况下,插件安装有以下几种方式:

核心插件:

sudo bin/plugin install [plugin_name]

例如安装Lucenea icu插件。sudo bin/plugin install analysis-icu,这样就会按照合适的版本到Elasticsearch中。

非核心插件:非核心插件可以是官方提供的,也可以是社区提供的,可以从官方,Maven或者GitHub中下载安装。

sudo bin/plugin install [org]/[user|component]/[version]

例如,安装github上的插件,plugin install lmenezes/elasticsearch-kopf

插件会尝试先到官方去下载,如果没有找到会到maven.com中去下载,如果在没有找到回到github中去下载。脚本还是非常智能的。

当我们从直接maven中央库中安装时可以直接使用下面的方式,最后的版本号是必须要写的。

plugin install org.elasticsearch.plugin/mapper-attachments/3.0.0 

从自定义网址或者本地安装:plugin install [url] ,例如,在本地文件系统中安装一个插件,可以运行:plugin install file:///path/to/plugin.zip。

    插件脚本会拒绝从一个不受信任的证书的https网站安装。使用HTTPS证书自签名,需要添加的CA证书到本地信任库,可以通过java脚本添加:plugin -Djavax.net.ssl.trustStore=/path/to/trustStore.jks install https://...

查询插件:plugin list

删除插件:plugin remove [pluginname],jar插件删除后要重启。

Silent/Verbose参数:

当使用--verbose参数输出更多的调试信息, 当使用--silent参数时可以关闭所有输出。该脚本可以返回下面的代码:

0:一切都好

64:未知命令或不正确的选项参数

74:输入输出错误

70:任何其他错误

自定义配置目录:如果elasticsearch.yml配置文件在一个自定义的位置,在使用插件脚本时需要指定配置文件的路径,例如:plugin -Des.path.conf=/path/to/custom/config/dir install <plugin name>,您可以设置conf_dir环境变量来指定自定义配置文件的路径。

超时设置:可以指定超时时间,例如等待30秒,plugin install mobz/elasticsearch-head --timeout 30s。当设置为0时一直等待。

代理设置:可以通过代理安装插件,Java的设置是proxyHost和proxyPort。例如:在Unix中

plugin install mobz/elasticsearch-head -DproxyHost=host_name -DproxyPort=port_number

在Windows中,需要添加参数到java_opts环境变量,例如:

set JAVA_OPTS="-DproxyHost=host_name -DproxyPort=port_number"

plugin install mobz/elasticsearch-head

自定义插件目录:插件目录可以在配置文件中elasticsearch.yml进行修改,参数:path.plugins: /path/to/custom/plugins/dir。

强制插件:可以在配置文件中elasticsearch.yml中添加plugin.mandatory来设置必须要安装的插件,例如:plugin.mandatory: mapper-attachments,lang-python。注意:出于安全的原因,如果缺少一个强制插件,该节点将不会启动成功。

    赛克蓝德(secisland)后续会逐步对Elasticsearch的最新版本的各项功能进行分析,近请期待。也欢迎加入secisland公众号进行关注

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!