Solr优化一:部署调整

我们有一张大宽表,数据量大概在20亿左右,100多个字段,HDFS中不算复制因子,原始数据文件差不多1.8TB。这算是一个较大的宽表了。
大数据集群节点大概20台.CDH默认只能在一个节点上安装一个SOLR实例。由于其版本过低,不满足我们的功能要求。改为了独立部署当时最新的SOLR版本V7.3.1。

第一种方案:
由于每个物理机上留给SOLR的内存只有60GB,所以一开始,我们在每个节点上部署了3个实例,每个SOLR实例 60GB/3 =20GB。这样部署有以下几个问题:
1、SOLR普通检索过慢,经常需要10S到几十秒不等。
2、SOLR的distinct分析语句经常导致 SOLR实例OOM。
3、SOLR实例挂掉后,无法自动重启。
4、索引建立还行,每分钟接近1000万。

第二种方案:
从大数据集群中独立出6台物理机,专门用作SOLR集群。扣掉HBASE占用的50GB内存,操作系统50GB,剩下的150GB留给SOLR使用。每个节点上部署5个实例,摊到每个实例上150GB/5=30GB。部署后结果:
1、SOLR普通检索速度提升,时间变为1秒到3秒之内。
2、SOLR的distinct分析语句偶尔导致 SOLR实例OOM 。但是SOLR能够自动重启。
3、 SOLR的distinct分析语句执行时间较长,大致在3.3分钟左右。
4、索引建立极慢,20分钟才能建完400万数据。目前未探明是卡在网络还是磁盘?磁盘应该不会,因为每个实例都在一块独立的磁盘。

个人认为OOM的原因是因为内存不足,没有给SOLR足够的缓存空间吧。因为在SOLR实例中看到系统的物理内存始终为250.6G,差一点256GB,濒临崩溃的边缘。但是CDH的监控,只有146GB,和SOLR的监控不一致。SOLR的HEAP-SPACE,32GB只用到了8GB.

发表评论

电子邮件地址不会被公开。 必填项已用*标注