elasticsearch副本和分片

1.文档冲突

当我们使用index API更新文档,可以一次性读取

修改索引副本

bash 复制代码
root@es-node3:~# curl -XPUT http://192.168.1.136:9200/es-syslog-2023.08.26/_settings -H "Content-Type: application/json" -d '{
>   "settings": {
>     "index": {
>       "number_of_shards": 3,
>       "number_of_replicas": 2
>     }
>   }
> }'
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Can't update non dynamic settings [[index.number_of_shards]] for open indices [[es-syslog-2023.08.26/5EEqjFuGTBe6_wdyoBeV7g]]"}],"type":"illegal_argument_exception","reason":"Can't update non dynamic settings [[index.number_of_shards]] for open indices [[es-syslog-2023.08.26/5EEqjFuGTBe6_wdyoBeV7g]]"},"status":400}r

看起来您正在尝试修改一个已经打开的索引的非动态设置index.number_of_shards。在默认情况下,Elasticsearch不允许在索引处于打开状态时修改非动态(不可更改)的设置。

curl -XPOST http://192.168.1.136:9200/es-syslog-2023.08.26/_close

使用以下命令来修改索引的设置:

curl -XPUT http://192.168.1.136:9200/es-syslog-2023.08.26/_settings -H "Content-Type: application/json" -d '{

"settings": {

"index.number_of_shards": 3

}

}'

重新打开索引。

curl -XPOST http://192.168.1.136:9200/es-syslog-2023.08.26/_open

迁移分片

curl -XPOST -H "Content-Type: application/json" -d '{

"commands": [

{

"move": {

"index": "es-syslog-2023.12.03",

"shard": 0,

"from_node": "es-node2",

"to_node": "es-node1"

}

}

]

}' http://localhost:9200/_cluster/reroute

相关推荐
武子康42 分钟前
大数据-253 离线数仓 - Airflow 入门与任务调度实战:DAG、Operator、Executor 部署排错指南
大数据·后端·apache hive
guoji77882 小时前
2026年Gemini 3 Pro vs 豆包2.0深度评测:海外顶流与国产黑马谁更强?
大数据·人工智能·架构
TDengine (老段)2 小时前
TDengine IDMP 组态面板 —— 工具箱
大数据·数据库·时序数据库·tdengine·涛思数据
网络工程小王2 小时前
【大数据技术详解】——Kibana(学习笔记)
大数据·笔记·学习
zxsz_com_cn4 小时前
设备预测性维护方案设计的关键要素
大数据·人工智能
唐天下闻化4 小时前
连锁数字化改造8成翻车?三维避坑实录
大数据
1104.北光c°5 小时前
深入浅出 Elasticsearch:从搜索框到精准排序的架构实战
java·开发语言·elasticsearch·缓存·架构·全文检索·es
杨浦老苏6 小时前
搜索引擎聚合器Degoog
搜索引擎·docker·群晖
坚持学习前端日记6 小时前
从零开始构建小说推荐智能体 - Coze 本地部署完整教程
大数据·人工智能·数据挖掘