「Elasticsearch」- 管理与维护

查看当前集群配置

方法一、检查集群配置文件

通过配置文件查看配置信息:/etc/elasticsearch/

潜在问题:某些配置是通过 REST API 修改的,无法在配置文件中体现。

方法二、使用 REST API 查看

# 返回集群全部设置
GET /_cluster/settings?include_defaults=true

修改集群配置

方法一、通过配置文件修改

1)修改 /etc/elasticsearch/ 配置文件
2)重启服务,以使配置生效

方法二、通过 REST API 修改

通过 REST API 修改(持久修改):

# PUT /_cluster/settings
curl -X PUT \
    -H "Content-Type: application/json" \
    -d '{"persistent" : {"indices.recovery.max_bytes_per_sec" : "40mb"}}' \
    http://127.0.0.1:9200/_cluster/settings

通过 REST API 修改(临时修改):

# PUT /_cluster/settings
curl -X PUT \
    -H "Content-Type: application/json" \
    -d '{"transient" : {"indices.recovery.max_bytes_per_sec" : "40mb"}}' \
    http://127.0.0.1:9200/_cluster/settings

注意事项:
1)某些属性无法通过 API 修改,在修改这些属性时会返回:not dynamically updateable
2)如果属性不存在,将返回:not recognized

常用操作汇总

# 重命名索引

# https://stackoverflow.com/questions/28626803/how-to-rename-an-index-in-a-cluster
POST /_reindex
{
  "source": {
    "index": "twitter"
  },
  "dest": {
    "index": "new_twitter"
  }
}

参考文献

How do I POST JSON data with cURL?
Elasticsearch Reference [7.7] » REST APIs » Cluster APIs » Cluster update settings API