1. 程式人生 > >ELK5.4 修改分片數及分片分配方式

ELK5.4 修改分片數及分片分配方式

修改 分片 副本

一、修改分片數

elasticsearch默認分片數為5,副本數為1.如果需要修改分片數有兩種方式

1、修改索引settings

查看索引狀態:curl -GET "http://localhost:9200/index/__settings"

修改索引狀態信息:

curl -XPUT ‘localhost:9200/index/_settings‘ -d ‘{
    "index" : {       
            "number_of_replicas" : 6,
        "number_of_replicas": 2
    }}‘

這種方式只能針對某個索引單獨修改。如果需要所有索引統一修改,就需要修改模板信息

2、修改模板

#獲取默認模板信息
curl -XGET http://localhost:9200/_template/logstash

#刪除默認模板
curl -XDELETE http://localhost:9200/_template/logstash

#上傳修改後的默認模板

curl -XPUT http://localhost:9200/_template/logstash -d ‘
{
        "template": "logstash-*",
        "settings": {
            "index": {
                "number_of_replicas": "2",
                "number_of_shards": "6",
                "refresh_interval": "5s"
            }
        },
        "mappings": {
            "_default_": {
                "dynamic_templates": [
                    {
                        "message_field": {
                            "path_match": "message",
                            "mapping": {
                                "norms": false,
                                "type": "text"
                            },
                            "match_mapping_type": "string"
                        }
                    },
                    {
                        "string_fields": {
                            "mapping": {
                                "norms": false,
                                "type": "text",
                                "fields": {
                                    "keyword": {
                                        "type": "keyword"
                                    }
                                }
                            },
                            "match_mapping_type": "string",
                            "match": "*"
                        }
                    }
                ],
                "_all": {
                    "norms": false,
                    "enabled": true
                },
                "properties": {
                    "@timestamp": {
                        "include_in_all": false,
                        "type": "date"
                    },
                    "geoip": {
                        "dynamic": true,
                        "properties": {
                            "ip": {
                                "type": "ip"
                            },
                            "latitude": {
                                "type": "half_float"
                            },
                            "location": {
                                "type": "geo_point"
                            },
                            "longitude": {
                                "type": "half_float"
                            }
                        }
                    },
                    "@version": {
                        "include_in_all": false,
                        "type": "keyword"
                    }
                }
            }
        },
        "aliases": {}
    }
‘

二、分片分配

默認情況下shard分片是大致均衡的,但是primary 主分片分配不均衡(某個ES重啟或者集群節點變動)

Shard Allocation Settingsedit

The following dynamic settings may be used to control shard allocation and recovery:

  • cluster.routing.allocation.enable

  • Enable or disable allocation for specific kinds of shards:

    • all - (default) Allows shard allocation for all kinds of shards.

    • primaries - Allows shard allocation only for primary shards.

    • new_primaries - Allows shard allocation only for primary shards for new indices.

    • none - No shard allocations of any kind are allowed for any indices.

上面這個參數可以設定分片分配的方式。

PUT _cluster/settings{
  "transient": {
    "cluster.routing.allocation.enable": primaries
  
  }}


本文出自 “寧靜致遠” 博客,請務必保留此出處http://irow10.blog.51cto.com/2425361/1951200

ELK5.4 修改分片數及分片分配方式