最近更新时间:2024-02-02 11:40:58
影响金山云托管ES 服务磁盘存储的主要因素如下: | 因素 | 说明 |
---|---|---|
副本数量 | 默认和建议的副本数量为1,对于可以承受异常情况导致数据丢失的场景,可考虑设置副本数量为0。 | |
索引开销 | 除原始数据外,ES 需要存储索引、列存数据等,通常比源数据大10%(_all等未计算)。 | |
ES内部任务开销 | segment 合并、ES Translog、日志等,占用约20%的磁盘空间。 | |
操作系统预留 | Linux 操作系统默认为 root 用户预留5%的磁盘空间,用于关键流程处理、系统恢复、防止磁盘碎片化等问题。 | |
安全阈值 | 预留20%的安全阈值。 |
根据以上因素得到最小磁盘总大小 = 源数据大小 * 3.6。计算方式如下:
磁盘总大小 = 源数据 * (1 + 副本数量) * (1 + 索引开销) / (1 - Linux预留空间) / (1 - ES内部任务开销) / (1 - 安全阈值) = 源数据 * (1 + 副本数量) * 1.8 = 源数据 * 3.6
Shard大小和数量是影响ES集群稳定性和性能的重要因素之一。ES集群中任何一个索引都需要有一个合理的Shard规划(默认为5个)。
单个Shard大小不要超过50G,建议单个分片大小在10G-50G之间。
Shard的个数(包括副本)要尽可能等于节点数,或者是节点数的整数倍。
过多的分片数影响集群状态管理,建议单个ES实例每1G内存对应的分片数不要超过20个(假设ES实例内存是10G,那么这个ES实例上的分片数不要超过200个)。
ES 的计算资源主要消耗在写入和查询过程,而不同业务场景在写入和查询方面的复杂度不同、比重不同,导致计算资源相比存储资源较难评估。因此建议您优先评估存储资源量,然后初步选择计算资源,在测试过程中确认计算资源是否足够。
我们建议您首先至少选择3个节点,避免 ES 实例出现脑裂问题,保证 ES 实例具有较高的节点故障容错能力。
当完成实例类型的初步选择后,您可以使用真实数据进行测试,通过观察 CPU 使用率、写入指标(性能、拒绝率)、查询指标(QPS、拒绝率)等监控信息,进一步确认实例类型是否合适。另外,建议针对上述监控信息配置告警,方便在线上使用时,及时发现资源不足等问题。
本地SSD型:适合存储要求较小,性能优越,数据量较小客户,成本较低。
云盘型:适合对存储容量要求较高,且兼顾性能,对数据高可用要求较高,如审计日志、金融数据等场景,成本偏高。
云物理机:适合对性能有极高要求,且业务规模庞大的客户。
集群是 KES 提供托管 Elasticsearch 服务的基本单元,也是用户使用和管理 Elasticsearch 服务的主要对象。本文为您介绍通过金山云官网控制台,快速创建 Elasticsearch 集群。
2.在KES控制台,点击新建集群,进入创建集群页面。
3.填写集群配置信息。
参数 | 说明 |
---|---|
计费方式 | 预付费(包年包月)、按小时实时付费、按日配置付费(试用)、按日配置付费(月结) |
集群名称 | 创建集群时,会根据系统时间戳生成一个默认名称。您也可以为KES集群输入自定义名称。长度限制为1-25个字符,支持数字、大小写字母、减号和下划线。 |
数据中心 | 支持华北1(北京),华东1(上海),华南1(广州)和新加坡 |
产品版本 | 目前仅开放开源版 |
版本号 | 支持ElasticSearch5.6.16;ElasticSearch6.8.4;ElasticSearch7.4.2 |
数据节点 | 机型可选云盘型、本地SSD型、云物理机;节点数量不少于3个,如集群没开启专有主节点,系统会自动选取3个数据节点作为主节点。物理机支持一机多实例,默认实例个数为内存/64,RAID方式支持Raid1, Raid5, Raid50和SRaid0。 |
专有主节点 | 默认机型是云盘型、节点数量3个。在大规模集群中,开启专有主节点,可增强集群的稳定性。 |
协调节点 | 默认机型是云盘型,如果开启,节点数量不少于2个。在大规模集群中,开启协调节点,可缓解数据节点压力,避免因CPU、I/O和内存等资源竞争,导致服务不可用。 |
冷数据节点 | 机型可选云盘型、本地SSD型。如果开启,节点数量不少于2个,如果集群中有大量不经常被访问的历史索引,可选择冷数据节点,实现冷热数据分离。 |
开启公网 | 如果您需要使用Kibana或者使用Elasticsearch-SQL插件,需开启公网,绑定EIP。如果是 按日配置付费(试用) 的计费方式,创建时不支持开启公网,创建后,请到集群详情页绑定EIP。 |
绑定EIP | 您可以选择已创建的EIP或者去EIP控制台先创建EIP再绑定,也可以选择默认创建1M EIP,我们会在创建集群的时候为您创建一个1M的EIP。所选EIP的数据中心与集群数据中心需一致。 |
VPC网络 | 您可以使用同一数据中心内任一VPC来创建集群,若该数据中心无VPC,请您到VPC控制台创建,同时创建该VPC下EndPoint子网及与集群同一可用区内VPC子网。 |
VPC子网 | VPC子网是VPC中用于管理云主机的网络单元,您可以使用该VPC下与集群同一可用区内任一VPC子网来创建集群。 |
EndPoint子网 | EndPoint可以在您的VPC和其他金山云服务之间创建私有连接,使用KES服务必须指定EndPoint。您可以使用该VPC下任一EndPoint子网来创建集群。 |
所属项目 | 选择集群的归属项目。集群创建后,可在集群列表页分配至项目选择集群所属项目。 |
4.确认及购买。
确认配置详情后,点击购买,进入确认订单页面,然后预览集群配置。配置不符合预期时,可返回修改。
5.勾选我已阅读并同意《服务使用协议》。
自动续费是可选项,包年包月的集群有使用期限,到期后会影响服务使用,建议包年包月购买的集群勾选账户余额足够时,资源到期后按月自动续费。
6.付款并且订单创建成功后,在左侧导航栏选择Elasticsearch服务,进入集群列表页面,等待集群状态变为运行中,即可开始使用KES服务。
在通过金山云Elasticsearch实例进行业务查询前,您需要先访问该实例。支持通过Kibana控制台访问实例。
KES 包含 Kibana 模块,用户可以通过公网访问集群对应的 Kibana 页面,进行数据的可视化查询分析,以及数据的管理操作。
Kibana入口位于集群详情页下面的可视化模块,使用Kibana前请确认该集群已绑定EIP。
在Kibana控制台中,单击左侧导航栏的Dev Tools(开发工具),在Console中执行如下命令访问KES实例。
访问成功后,显示结果如下:
{
"name" : "10.0.0.248_0",
"cluster_name" : "es-20200228133406",
"cluster_uuid" : "F6F2wbGJRIijqCetPqoSdg",
"version" : {
"number" : "6.8.4",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "bca0c8d",
"build_date" : "2019-10-16T06:19:49.319352Z",
"build_snapshot" : false,
"lucene_version" : "7.7.2",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
在Kibana控制台中,创建一个名称为school的索引,类型为student,包含4个字段,分别是name、address、age和date。关于字段类型说明,可查看官方文档 Field Datatypes。
PUT school
{
"settings":{
"number_of_shards": 3,
"number_of_replicas": 1
},
"mappings":{
"student":{
"properties":{
"name":{
"type":"text"
},
"address":{
"type":"keyword"
},
"age":{
"type":"integer"
},
"date":{
"type":"date",
"format":"yyyy-MM-dd HH:mm:ss"
}
}
}
}
}
如果返回显示"errors" : false,说明数据插入成功。
POST /school/student/_bulk
{"index":{}}
{"name":"张三","address":"山东济南","age":"22","date":"2020-01-19 08:10:00"}
{"index":{}}
{"name":"李四","address":"北京海淀","age":"21","date":"2020-02-19 09:00:00"}
{"index":{}}
{"name":"王五","address":"吉林长春","age":"23","date":"2020-02-19 10:00:00"}
GET /school/_search
{
"query": {
"match": {
"address": "北京海淀"
}
}
}
纯净模式