云搜索服务支持使用自定义插件,您可以自主上传、安装、卸载、删除自定义插件。
背景信息
您在准备自定义插件包时,请先了解插件描述文件和插件安全文件的相关要求。
插件描述文件(plugin-descriptor.properties)
在plugin-descriptor.properties
文件中,需要声明插件名、插件版本和 实例版本,且该文件应位于 ZIP 包解压后的根目录中。
文件中的重要字段解释如下:
- name:插件名。
- version:插件所属的版本。
- description:插件的简要功能描述。上传插件包文件后,插件的描述信息将会展示在云搜索服务 ES 实例页面的自定义插件列表中。
- elasticsearch.version:Elasticsearch 版本。如果插件声明的 Elasticsearch 版本和目标实例版本不一致,会导致上传失败。
插件安全文件(plugin-security.policy)
自定义插件的安全文件中不允许包含敏感类权限,详情如下:
- 文件类权限:不允许对文件进行任意的读写和执行操作。
- 网络类权限:不允许(包括但不限于)监听或发起网络请求。
注意事项
在实例上安装自定义插件,自定义插件本身可能会影响实例的稳定性,请务必保证自定义插件的可用性和安全性。
- 文件后缀名必须是
.zip
。文件名只能包含大小写字母、数字、短横线(-)或点(.),长度为8~128位。 - 最大支持上传 100 MiB 的文件,同名文件不支持上传。
- 上传自定义 IK 插件时,不能和默认 IK 插件重名,同时代码里 Analyzer 和 Tokenizer 也不能重名。
- 上传自定义插件时,插件描述文件中 ES 版本与目标实例版本需要保持一致。
- 实例升级时,自定义插件不会升级更新,需要重新上传。
- 您在上传与安装自定义插件时,如果出现上传失败、安装卡住或者卸载卡住等异常问题,可参见自定义插件安装异常处理方案进行排查解决。
前提条件
在实例安装插件会触发集群重启,如果插件存在代码缺陷,将会导致实例节点安装后启动失败,同时影响集群的稳定性。
任何需要上传并安装到云搜索服务实例中的自定义插件,都需要提前在本地自建的 Elasticsearch 服务中进行安装测试,只有安装测试通过后的插件才可以上传并安装到云搜索服务实例。
- 在本地 Elasticsearch 服务中安装插件。
命令为:./bin/elasticsearch-plugin install file:///path-to-your-plugins.zip
- 重启集群加载插件。
- 查询插件是否安装成功。
执行GET /_cat/plugins?v
命令,获取插件信息,判断自定义插件是否安装成功。
上传自定义插件
- 登录云搜索服务控制台。
- 在顶部导航栏,选择目标实例所在的地域。
- 在实例列表 v2页面,单击目标实例名称。
- 在实例详情的插件管理页签,单击自定义插件,然后再单击上传文件。
- 在上传插件对话框,从本地选择自定义插件文件,然后勾选相关提示信息,再单击确定。
安装自定义插件
当您上传自定义插件后,您可以安装插件。
- 在实例详情的插件管理页签,单击自定义插件。
- 在插件管理页面选择目标插件,然后单击后方的安装。
支持同时勾选多个自定义插件,然后单击批量安装,进行批量安装操作。
- 在安装插件对话框,查看并勾选提示信息,然后单击确定。
说明
- 安装自定义插件会触发重启集群,请在业务低峰期安装插件。
- 自定义插件本身可能会影响实例的稳定性,请务必保证自定义插件的可用性和安全性。
- 查看自定义插件安装进度。
执行插件安装操作后,目标插件状态显示为安装中,当状态变为已安装,则表示插件安装成功。
卸载自定义插件
当您不再需要使用自定义插件的功能时,可以选择卸载自定义插件。
- 在实例详情的插件管理页签,单击自定义插件。
- 在插件管理页面选择目标插件,然后单击后方的卸载。
支持同时勾选多个自定义插件,然后单击批量卸载,进行批量卸载操作。
- 在卸载插件对话框,查看并勾选提示信息,然后单击确定。
说明
- 卸载自定义插件会触发重启集群,请在业务低峰期卸载插件。
- 如果卸载的插件正被索引使用,会导致卸载失败,集群状态异常, 请确保插件未被使用后再卸载。
- 查看自定义插件卸载进度。
执行插件卸载操作后,目标插件状态显示为卸载中,当状态变为未安装,则表示插件卸载完成。
删除自定义插件
- 在实例详情的插件管理页签,单击自定义插件。
- 在插件管理页面选择目标插件,然后单击后方的删除。
- 在弹出的对话框,确认删除插件,然后单击确定。