searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

天翼云Elasticsearch集群规划

2024-09-25 09:31:42
5
0
计算节点选型:
 
机型名称 CPU Mem 适合场景
通用型
1:4 esearch-4c16g 4 16 适合平衡型场景,适用于大多数通用搜索和分析任务。
当实例需要处理中等规模的数据集,并且查询和索引操作相对平衡时,这种比例可以提供足够的处理能力和内存资源。
esearch-8c32g 8 32
计算加强型
1:2 esearch-8c16g 8 16 适合CPU密集型操作,如需要进行大量数据聚合或实时分析的场景。
当查询操作非常复杂,需要进行大量的数据计算和聚合时,较高的CPU资源可以提高处理速度。
esearch-16c32g 16 32
内存优化型
1:8 esearch-4c32g 4 32 适合内存密集型操作,如大量数据的索引和搜索。
当数据集较大,需要频繁进行全文搜索或复杂查询时,较高的内存可以提高缓存效率,减少磁盘I/O操作。
 

存储容量预估:
副本数量:副本有利于增加数据的可靠性,但同时会增加存储成本。默认和建议的副本数量为1。
注意:实例的磁盘容量不等于可使用的数据空间大小
Elasticsearch和OpenSearch通常可以将数据压缩20~30%。
1GB原始数据-> 1*1.2(Json转换因子)*0.8(压缩) -> 0.96压缩比。
磁盘空间使用率(一般建议为70%)。
索引开销:可以使用 cat/indices?v API 和 __pri.store.size_ 值计算确切的开销计算,通常比源数据大 10%
操作系统预留空间:默认操作系统会保留5%的文件系统供您处理关键流程、系统恢复以及防止磁盘碎片化问题等
因此
存储容量 = 源数据 * (1 + 副本数量) * 0.96 / (1 - 磁盘使用率)*(1 *索引开销)*(1 *预留空间) ≈ 源数据 * 2 * 0.96 / 0.7 *1.1 *1.05 = 源数据*3.168。根据原始数据大小,至少要预留大概3倍以上的空间

节点数量预估:
集群建议最大节点数 = 单节点 CPU * 5
单节点磁盘最大容量:
搜索类场景:单节点磁盘最大容量 = 单节点内存大小(GB)* 10。
日志类等场景:单节点磁盘最大容量 = 单节点内存大小(GB)* 50。
通用类等场景:单节点磁盘最大容量 = 单节点内存大小(GB)* 30。

配置    最大节点数    单节点磁盘最大容量 (查询)    单节点磁盘最大容量 (日志)
4 核 16G    20    160 GB    800 GB
8 核 32G    40    320 GB    1.5 TB
16 核 64G    80    640 GB    2 TB

分片数量规划:
适用场景:
日志类,写入频繁,查询较少,单个分片 30G 左右
搜索类,写入少,查询频繁,单个分片不超过 20G
每个 Elasticsearch 索引被分为多个分片,数据按哈希算法打散到不同的分片中。由于索引分片的数量影响读写性能和故障恢复速度,建议提前规划。
分片使用概要:
在单节点上,最大分片数量为 1000
单个分片大小尽量保持在 10-50G 之间为最佳体验,一般推荐在 30G 左右.
分片过大可能使故障恢复速度变慢
分片过小可能导致非常多的分片,因为每个分片会使用占用一些 CPU 和内存,从而导致读写性能和内存不足的问题。
当分片数量超过数据节点数量时,建议分片数量接近数据节点的整数倍,便于将分片均匀的分布到数据节点中。

0条评论
0 / 1000
InnerPeace
5文章数
0粉丝数
InnerPeace
5 文章 | 0 粉丝
原创

天翼云Elasticsearch集群规划

2024-09-25 09:31:42
5
0
计算节点选型:
 
机型名称 CPU Mem 适合场景
通用型
1:4 esearch-4c16g 4 16 适合平衡型场景,适用于大多数通用搜索和分析任务。
当实例需要处理中等规模的数据集,并且查询和索引操作相对平衡时,这种比例可以提供足够的处理能力和内存资源。
esearch-8c32g 8 32
计算加强型
1:2 esearch-8c16g 8 16 适合CPU密集型操作,如需要进行大量数据聚合或实时分析的场景。
当查询操作非常复杂,需要进行大量的数据计算和聚合时,较高的CPU资源可以提高处理速度。
esearch-16c32g 16 32
内存优化型
1:8 esearch-4c32g 4 32 适合内存密集型操作,如大量数据的索引和搜索。
当数据集较大,需要频繁进行全文搜索或复杂查询时,较高的内存可以提高缓存效率,减少磁盘I/O操作。
 

存储容量预估:
副本数量:副本有利于增加数据的可靠性,但同时会增加存储成本。默认和建议的副本数量为1。
注意:实例的磁盘容量不等于可使用的数据空间大小
Elasticsearch和OpenSearch通常可以将数据压缩20~30%。
1GB原始数据-> 1*1.2(Json转换因子)*0.8(压缩) -> 0.96压缩比。
磁盘空间使用率(一般建议为70%)。
索引开销:可以使用 cat/indices?v API 和 __pri.store.size_ 值计算确切的开销计算,通常比源数据大 10%
操作系统预留空间:默认操作系统会保留5%的文件系统供您处理关键流程、系统恢复以及防止磁盘碎片化问题等
因此
存储容量 = 源数据 * (1 + 副本数量) * 0.96 / (1 - 磁盘使用率)*(1 *索引开销)*(1 *预留空间) ≈ 源数据 * 2 * 0.96 / 0.7 *1.1 *1.05 = 源数据*3.168。根据原始数据大小,至少要预留大概3倍以上的空间

节点数量预估:
集群建议最大节点数 = 单节点 CPU * 5
单节点磁盘最大容量:
搜索类场景:单节点磁盘最大容量 = 单节点内存大小(GB)* 10。
日志类等场景:单节点磁盘最大容量 = 单节点内存大小(GB)* 50。
通用类等场景:单节点磁盘最大容量 = 单节点内存大小(GB)* 30。

配置    最大节点数    单节点磁盘最大容量 (查询)    单节点磁盘最大容量 (日志)
4 核 16G    20    160 GB    800 GB
8 核 32G    40    320 GB    1.5 TB
16 核 64G    80    640 GB    2 TB

分片数量规划:
适用场景:
日志类,写入频繁,查询较少,单个分片 30G 左右
搜索类,写入少,查询频繁,单个分片不超过 20G
每个 Elasticsearch 索引被分为多个分片,数据按哈希算法打散到不同的分片中。由于索引分片的数量影响读写性能和故障恢复速度,建议提前规划。
分片使用概要:
在单节点上,最大分片数量为 1000
单个分片大小尽量保持在 10-50G 之间为最佳体验,一般推荐在 30G 左右.
分片过大可能使故障恢复速度变慢
分片过小可能导致非常多的分片,因为每个分片会使用占用一些 CPU 和内存,从而导致读写性能和内存不足的问题。
当分片数量超过数据节点数量时,建议分片数量接近数据节点的整数倍,便于将分片均匀的分布到数据节点中。

文章来自个人专栏
你知道为了搜索
5 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0