配置Elasticsearch集群YML文件默认参数
当需要根据业务需求调整Elasticsearch集群的运行行为时,比如优化查询速度、修改跨域访问配置、调整内部缓存大小或管理后台任务队列等,都可以通过调整集群的配置实现。Elasticsearch集群的核心配置信息都集中在“elasticsearch.yml”文件中,CSS集群可以通过云搜索服务管理控制台在线对集群的特定模块参数进行修改,灵活地定制集群行为。
配置YML文件
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > Elasticsearch”。
- 在集群列表,单击目标集群的名称,进入集群基本信息页面。
- 选择“参数配置”,单击“编辑”,根据需求修改对应模块的参数值。
表1 模块参数信息说明 模块名称
参数名称
说明
跨域访问
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(0~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支持的参数。
参数值需符合以下要求:
- 自定义参数值是多值时用英文逗号加空格分隔,输入格式为[value1, value1, value1...]。
- 自定义参数值中不能包含冒号。
警告:自定义参数必须配置为Elasticsearch支持的参数,否则集群重启会失败,建议谨慎操作,以免影响业务。
- 修改完成后,单击上方的“提交”弹出“提交配置”窗口,确认参数无误后勾选“参数修改后需要手动重启才能生效”,单击“确定”。
当下方的参数修改列表显示“作业状态”为“成功”时,表示修改保存成功。系统最多显示20条修改记录。
- 返回集群列表,单击集群操作列的“更多 > 重启”重启集群,使修改的配置生效。
- 如果修改了参数配置,未重启集群,则在“集群管理”页面的“任务状态”栏显示为“配置未更新”。
- 如果修改后重启集群,“任务状态”显示“配置错误”,则表示修改参数配置文件失败。