Hi Christian,
Thank you for the reply.
Each index in the template ends up holding about 300GB of data (500 million records) per the day (we split indices by date).
We had previously decided upon that amount of shards when we had version 5.5.1 of the Elastic stack deployed, although with the space usage improvements brought by 6.x, the shard count dues indeed turn out to be quite high.
We are indeed indexing while querying. We have a setup which continuously sends data to the ES cluster for indexing, but we also have users which are querying for their day-to-day business-related needs.
The cluster consists of 51 nodes, spread out as it follows:
- 3 master nodes - m3.xlarge AWS instances (15GB RAM, 8 vCPUs, 80GiB SSD storage)
- 6 client nodes - c5.2xlarge AWS instances (16GB RAM, 8 vCPUs, 8GiB SSD storage)
- 42 data nodes - i3.2xlarge AWS instances (61GB RAM, 8 vCPUs, 1900GiB NVMe SSD storage)
Cluster API output:
{
"_nodes" : {
"total" : 51,
"successful" : 51,
"failed" : 0
},
"cluster_name" : "elasticsearch-reporting",
"timestamp" : 1510829886692,
"status" : "green",
"indices" : {
"count" : 169,
"shards" : {
"total" : 4868,
"primaries" : 1231,
"replication" : 2.9545085296506906,
"index" : {
"shards" : {
"min" : 2,
"max" : 72,
"avg" : 28.80473372781065
},
"primaries" : {
"min" : 1,
"max" : 18,
"avg" : 7.284023668639053
},
"replication" : {
"min" : 1.0,
"max" : 41.0,
"avg" : 2.8579881656804735
}
}
},
"docs" : {
"count" : 9620886179,
"deleted" : 265026
},
"store" : {
"size" : "7.3tb",
"size_in_bytes" : 8042730438419
},
"fielddata" : {
"memory_size" : "187.7mb",
"memory_size_in_bytes" : 196858872,
"evictions" : 0
},
"query_cache" : {
"memory_size" : "22.2gb",
"memory_size_in_bytes" : 23859117412,
"total_count" : 32678911,
"hit_count" : 13103016,
"miss_count" : 19575895,
"cache_size" : 401768,
"cache_count" : 552786,
"evictions" : 151018
},
"completion" : {
"size" : "0b",
"size_in_bytes" : 0
},
"segments" : {
"count" : 89077,
"memory" : "14.1gb",
"memory_in_bytes" : 15164679364,
"terms_memory" : "9.8gb",
"terms_memory_in_bytes" : 10570119973,
"stored_fields_memory" : "2.8gb",
"stored_fields_memory_in_bytes" : 3045454864,
"term_vectors_memory" : "0b",
"term_vectors_memory_in_bytes" : 0,
"norms_memory" : "15.5mb",
"norms_memory_in_bytes" : 16269056,
"points_memory" : "1.3gb",
"points_memory_in_bytes" : 1481102387,
"doc_values_memory" : "49.3mb",
"doc_values_memory_in_bytes" : 51733084,
"index_writer_memory" : "609.3mb",
"index_writer_memory_in_bytes" : 638958010,
"version_map_memory" : "15mb",
"version_map_memory_in_bytes" : 15732046,
"fixed_bit_set" : "59kb",
"fixed_bit_set_memory_in_bytes" : 60448,
"max_unsafe_auto_id_timestamp" : 1510790401733,
"file_sizes" : { }
}
},
"nodes" : {
"count" : {
"total" : 51,
"data" : 42,
"coordinating_only" : 6,
"master" : 3,
"ingest" : 42
},
"versions" : [
"6.0.0-rc2"
],
"os" : {
"available_processors" : 396,
"allocated_processors" : 396,
"names" : [
{
"name" : "Linux",
"count" : 51
}
],
"mem" : {
"total" : "2.5tb",
"total_in_bytes" : 2848992215040,
"free" : "41.8gb",
"free_in_bytes" : 44894351360,
"used" : "2.5tb",
"used_in_bytes" : 2804097863680,
"free_percent" : 2,
"used_percent" : 98
}
},
"process" : {
"cpu" : {
"percent" : 479
},
"open_file_descriptors" : {
"min" : 1363,
"max" : 2424,
"avg" : 1885
}
},
"jvm" : {
"max_uptime" : "2.9d",
"max_uptime_in_millis" : 258501345,
"versions" : [
{
"version" : "1.8.0_151",
"vm_name" : "Java HotSpot(TM) 64-Bit Server VM",
"vm_version" : "25.151-b12",
"vm_vendor" : "Oracle Corporation",
"count" : 51
}
],
"mem" : {
"heap_used" : "594.2gb",
"heap_used_in_bytes" : 638116896024,
"heap_max" : "1.4tb",
"heap_max_in_bytes" : 1584612507648
},
"threads" : 7540
},
"fs" : {
"total" : "71.5tb",
"total_in_bytes" : 78616502906880,
"free" : "63.7tb",
"free_in_bytes" : 70123576582144,
"available" : "60.1tb",
"available_in_bytes" : 66132721008640
},
"plugins" : [
{
"name" : "discovery-ec2",
"version" : "6.0.0-rc2",
"description" : "The EC2 discovery plugin allows to use AWS API for the unicast discovery mechanism.",
"classname" : "org.elasticsearch.discovery.ec2.Ec2DiscoveryPlugin",
"has_native_controller" : false,
"requires_keystore" : false
},
{
"name" : "repository-s3",
"version" : "6.0.0-rc2",
"description" : "The S3 repository plugin adds S3 repositories",
"classname" : "org.elasticsearch.repositories.s3.S3RepositoryPlugin",
"has_native_controller" : false,
"requires_keystore" : false
},
{
"name" : "x-pack",
"version" : "6.0.0-rc2",
"description" : "Elasticsearch Expanded Pack Plugin",
"classname" : "org.elasticsearch.xpack.XPackPlugin",
"has_native_controller" : true,
"requires_keystore" : true
}
],
"network_types" : {
"transport_types" : {
"security4" : 51
},
"http_types" : {
"security4" : 51
}
}
}
}