目前我们使用的elastic版本为2.3.5
当前版本没有直接的curl操作可以更改索引的名称,索引的副本数。
有直接更改索引副本数的api。
curl -XPUT "192.168.1.1:9200/test001/_settings" -d '{
"index" : {
"number_of_replicas" : 2
}
}'
但是,我们可以通过elastic的快照功能来实现以上两种操作。
1.索引重命名
1.0 准备工作:停止对目标索引做插入数据操作
1.1 对需要重命名的索引做快照
curl -XPUT "192.168.1.1:9200/_snapshot/my_backup/test001_20171212?wait_for_completion=true&pretty=true" -d '{
"indices": "test001",
"ignore_unavailable": "true",
"include_global_state": false,
"include_aliases": false,
"partial": "false"
}'
1.2 通过恢复快照重命名索引
curl -XPOST "192.168.1.1:9200/_snapshot/my_backup/test001_20171212/_restore?wait_for_completion=true&pretty=true" -d '{
"indices": "test001",
"ignore_unavailable": "true",
"include_global_state": false,
"include_aliases": false,
"partial": "false",
"rename_pattern": "test001",
"rename_replacement": "test001_old"
}'
2.索引副本数修改
2.0 同1.0
2.1 同1.1
2.2 通过恢复快照更改索引的副本数【以下代码更改索引副本数为1,相当于共两份数据】
curl -XPOST "192.168.1.1:9200/_snapshot/my_backup/test001_20171212/_restore?wait_for_completion=true&pretty=true" -d '{
"indices": "test001",
"index_settings": {
"index.number_of_replicas": 1
},
"ignore_unavailable": "true",
"include_global_state": false,
"include_aliases": false,
"partial": "false",
"rename_pattern": "test001",
"rename_replacement": "test001"
}'