开始使用最新的DSE,尝试设置初始DSE solr群集并希望确保满足基本容量需求。在以下文档中,我按照指示进行了一些初始容量测试:
我的测试单节点设置在AWS,m3.xl,80GB raid0上,用于两个40GB ssd,最新安装的DSE
我已经插入了总共6MM的示例记录,并运行了一些与生产将要运行的搜索类似的solr搜索。
我的6MM记录有以下数字:
6MM Records
7.6GB disk (Cassandra + solr)
2.56GB solr index size
96.2MB solr field cache(totalReadableMemSize)
25.57MB solr Heap
我正在尝试计划一个初始启动器集群,希望计划存储大约250MM的记录并开始索引。在早期,读取负载将非常小,所以不要太担心读取吞吐量。
按照容量规划文档页面和6MM的250MM的一些数字看起来像数据集的基本要求将是:
250MM Records
106GB solr index size
317GB disk (Cassandra + solr)
4GB solr field cache(totalReadableMemSize)
1.1GB solr Heap
所以有些问题正在寻找一些指导,如果我正确理解文档:
我应该定位~360GB +存储是否安全,并且随着数据集的增长平均不超过80%的磁盘容量?
我应该为Cassandra使用可以为solr + XGB分配6GB的节点吗? (即:如果250MM的整个solr索引对于堆和字段缓存大约为6GB,并且我通过复制在3个节点上进行分区)
对于solr约有6GB,我应该多少尝试专注于Cassandra?
计划时要考虑的其他事项(将在AWS上运行)?
更新(11/6) - 来自phact的注释/建议
随着Cass + Solr一起运行,每个节点的目标规定为14GB,用于基本操作,转移到AWS上的目标30GB内存节点,16GB用于操作系统,solr索引,solr字段缓存
我将solr索引大小添加到上面的数字,如果建议目标将大多数/所有索引保留在内存中似乎我可能需要以至少8个节点为目标启动,每个节点有30GB内存。
看起来像solr节点的大量额外开销用于在内存中定位索引,可能需要重新考虑方法
答案 0 :(得分:0)
运行solr的DSE节点的建议堆大小为14gb。这是因为Solr和Cassandra实际上运行在同一个JVM中。您不必单独为Solr分配内存。
您确实希望确保您至少能够在OS页面缓存中放入Solr索引(在减去堆后留下的内存 - 假设这是一个专用的框)。理想情况下,您还可以让Cassandra在页面缓存中存储一些经常读取的行。
确定索引大小的快速而简单的方法是检查文件系统上索引目录的大小。如果您期望数据增长,请务必预测/推断。您还可以按如下方式检查每个核心的索引大小:
http://localhost:8983/solr/admin/cores?action=STATUS&memory=true
注意 - 每个节点都应该在内存中保存它的索引,而不是整个群集的索引。
是的,您确实希望确保您的磁盘不会过度使用,或者您在压缩过程中可能会遇到问题。理论上 - 更糟糕的情况 - 分层压缩可能需要高达50%的磁盘空闲。这不常见,请参阅更多详情here。