修改集群参数
在使用Elasticsearch集群时,经常需要根据业务需求调整集群行为,例如前端应用需要跨域访问集群接口、查询性能需要通过调整缓存来优化、Kibana会话需要延长超时时间等。CSS服务提供参数配置功能,支持在线修改“elasticsearch.yml”、“kibana.yml”和“system.config”配置文件,实现集群核心参数、可视化平台参数的灵活调整,适用于跨域访问配置、查询性能优化、Kibana可视化平台行为定制等场景。
配置文件说明
CSS集群的运行依赖以下配置文件,各文件职责不同、修改入口不同,三者互不影响,需分别修改。
| 配置文件 | 配置范围 | 生效范围 |
|---|---|---|
| elasticsearch.yml | 集群的核心配置参数,包括跨域访问、索引重建、查询缓存、线程池等。 | 修改后,所有节点在手动重启集群时加载新配置。 |
| kibana.yml | 可视化平台的独立配置参数,如会话超时时间、缺省跳转页面、界面显示等。 | 修改后,仅Kibana组件在重启Kibana进程时加载新配置,不影响集群节点。仅对公网地址和内网地址访问的Kibana生效,控制台一键访问的Kibana不生效。 |
| system.config | SAML身份提供商(idP)的元数据文件,详情请参见SAML - Open Distro for Elasticsearch Documentation。 | 配置后,会在Elasticsearch config目录下生成“descriptor.xml”文件,所有节点在手动重启集群时加载该文件。 |
参数修改的生效流程如下:
- 修改参数:在参数配置页面编辑对应模块的参数值。
- 保存参数:CSS将修改写入对应配置文件。
- 重启集群/进程:各节点或组件重新加载配置文件。
- 参数生效:重启完成后,新配置生效。
约束限制
- 仅当Elasticsearch集群版本号为7.10.2时,才支持修改“system.config”。
- 自定义参数必须配置为对应组件支持的参数,否则集群或组件重启会失败,建议谨慎操作。
- 修改“elasticsearch.yml”和“system.config”参数后需手动重启集群才能生效。
- 系统最多显示20条修改记录。
- 建议在业务低峰期修改参数并重启集群,避免影响业务运行。
修改Elasticsearch配置(elasticsearch.yml)
修改Elasticsearch集群的核心运行参数,包括跨域访问、索引重建、查询缓存和线程池等。
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > Elasticsearch”。
- 在集群列表,单击目标集群名称,进入集群详情页。
- 选择“集群配置 > 参数配置 > Elasticsearch配置”。
- 单击“编辑”,根据需求修改对应模块的参数值。
表2 模块参数信息说明 模块名称
参数名称
说明
跨域访问
http.cors.allow-credentials
控制跨域请求是否携带身份验证信息,即是否返回头部的Access-Control-Allow-Credentials字段。
取值范围:- true:响应头将包含Access-Control-Allow-Credentials字段。
- false(默认值):响应头不包含Access-Control-Allow-Credentials字段。
http.cors.allow-origin
指定允许跨域访问的源地址(IP地址或域名),多值时用英文逗号分隔。
示例格式:“192.168.122.122:9200”或“192.168.1.1:9200, 192.168.1.2:9200”。
http.cors.allow-headers
设置跨域访问允许的请求头字段,多值时用英文逗号加空格分隔。
示例:“X-Requested-With, Content-Type, Content-Length”。
字符串长度限制:最大1024字符,仅允许字母、数字、“-”、“_”和“/”。
http.cors.max-age
设置浏览器缓存预检请求响应的最大时间长度。
单位:秒
取值范围:0~31536000(约1年)
默认值:1728000(20天)
http.cors.enabled
是否启用跨域访问功能。
取值范围:- true:启用跨域访问。
- false(默认值):禁用跨域访问。
http.cors.allow-methods
跨域访问允许的HTTP方法,多值时用英文逗号加空格分隔。
示例:“OPTIONS, GET, POST”。
取值范围:OPTIONS、HEAD、GET、POST、PUT、DELETE。
集群索引重建
reindex.remote.whitelist
指定允许通过Reindex接口迁移数据的远程集群地址,多值时用英文逗号分隔。
示例格式:“192.168.122.122:9200”或“192.168.1.1:9200, 192.168.1.2:9200”。
自定义缓存
indices.queries.cache.size
控制查询缓存占用的内存比例。
单位:百分比(%)
取值范围:1~100
默认值:10%
线程池队列大小
thread_pool.force_merge.size
控制force_merge操作的线程池队列大小。
取值范围:正整数
默认值:1
自定义
-
单击“新增参数”,添加或修改Elasticsearch支持的参数。
警告:自定义参数必须配置为Elasticsearch支持的参数,否则集群重启会失败,建议谨慎操作,以免影响业务。
- 修改完成后,单击“保存”,在弹窗中确认参数无误后勾选重启提示,单击“确定”。
当下方的参数配置任务列表显示“作业状态”为“成功”时,表示修改保存成功。
- 在页面右上角单击“重启”,集群将重启以使配置更改生效。
- 重启完成后,在集群列表确认“集群状态”为“可用”,表示参数已生效。
修改Kibana配置(kibana.yml)
修改Kibana可视化平台的运行参数,例如调整会话超时时间、配置缺省跳转页面或修改界面显示语言等。
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > Elasticsearch”。
- 在集群列表,单击目标集群名称,进入集群详情页。
- 选择“集群配置 > 参数配置 > Kibana配置”。
- 单击“编辑”,根据需求修改对应模块的参数值。
表3 模块参数信息说明 模块名称
参数名称
说明
基础路径
server.basePath
自定义Base Path的参数值。
当需要通过反向代理(如Nginx)访问Kibana时,此参数值将会作为一个子路径跟在代理地址后面。例如反向代理的地址是“http://example.com”,“server.basePath”是“/test”,则通过地址“http://example.com/test”即可访问Kibana。
取值范围:- 必须以“/”开头。
- 不能有连续的斜杠(如“//”)。
- 只能包含字母、数字、短横线“-”、下划线“_”、点“.”和“/”。
- 允许多层路径,但长度不能超过254字符。
- 不能以“/”结尾。
server.rewriteBasePath
指定由Kibana还是反向代理移除请求路径中server.basePath前缀。
可选配置,如果没有使用反向代理访问Kibana的需求,则忽略此参数。
取值范围:- true,表示Kibana会自动移除请求路径中的server.basePath前缀。
- false,表示需要由反向代理(如Nginx)来移除请求路径中的server.basePath前缀。此时只能通过反向代理访问Kibana。
默认值是false,只有版本号不低于6.5.4的Elasticsearch集群支持修改默认值。
自定义
-
单击“新增参数”,添加或修改Kibana支持的参数。
警告:自定义参数必须配置为Kibana支持的参数,否则Kibana进程重启会失败,建议谨慎操作。
- 修改完成后,单击“保存”,在弹窗中确认参数无误后勾选重启提示,单击“确定”。修改Kibana配置会自动重启Kibana进程,该操作会短暂影响Kibana访问,请稍后重试。
当下方的参数配置任务列表显示“作业状态”为“成功”时,表示参数已生效。
修改系统配置(system.config)
仅当Elasticsearch集群版本号为7.10.2时,才支持修改“system.config”。
修改系统配置参数,在“elasticsearch.yml”配置文件的同级目录下生成或修改“descriptor.xml”文件。
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > Elasticsearch”。
- 在集群列表,单击目标集群名称,进入集群详情页。
- 选择“集群配置 > 参数配置 > 系统配置”。
- 单击“编辑”,在“系统配置”模块输入“descriptor.xml”文件内容。
文件内容大小不超过100KB(102400字节/字符,含换行符)。
- 修改完成后,单击“保存”,在弹窗中确认参数无误后勾选重启提示,单击“确定”。
当下方的参数配置任务列表显示“作业状态”为“成功”时,表示修改保存成功。
- 在页面右上角单击“重启”,集群将重启以使配置更改生效。
- 重启完成后,在集群列表确认“集群状态”为“可用”,表示“descriptor.xml”文件已生效。
相关文档
- 修改参数后需重启集群使配置生效,操作指导请参见重启集群。
- 更多Elasticsearch支持的参数,请参见Elasticsearch官方文档。
- 更多Kibana支持的参数,请参见Kibana官方文档。
常见问题
- 问题1:修改参数后集群状态显示“配置错误”怎么办?
“配置错误”表示修改的参数配置文件存在不合法的参数值。请在参数配置任务列表中查看具体的错误信息,根据提示修正参数值后重新保存并重启。如果是自定义参数导致的错误,请确认该参数是否为对应组件官方支持的参数。
- 问题2:修改参数后忘记重启,会有什么影响?
- 修改“elasticsearch.yml”和“system.config”参数后未重启集群时,配置不会生效,集群仍使用旧配置运行。集群列表的“任务状态”栏会显示“配置未更新”提醒。建议在修改参数后及时重启集群。
- 修改“kibana.yml”参数会自动重启Kibana进程无需重启集群,进程重启成功配置立即生效。