realguoshuai / hadoop_study

定期更新Hadoop生态圈中常用大数据组件文档 重心依次为: Flink Solr Sparksql ES Scala Kafka Hbase/phoenix Redis Kerberos (项目包含hadoop思维导图 印象笔记 Scala版本简单demo 常用工具类 去敏后的train code 持续更新!!!)
914 stars 259 forks source link

Solr #2

Open realguoshuai opened 5 years ago

realguoshuai commented 5 years ago

今天NC市线上快速搜车数据发现每天只有20-50万条,数据明显减少, 最后发现是创建索引程序的kafka消费组重名导致的

realguoshuai commented 5 years ago

Solr创建索引少数据,最终解决是用kafka自带的ShutdownableThread.scala工具类

realguoshuai commented 5 years ago

新增Solr从hive创建索引,进行字典转换 使用Fiber实现

realguoshuai commented 5 years ago

2张hive数据表中数据需要通过4张hive字典表转换存到solr,思路是读字典表分别存到hashmap,在创建索引之前做转换

realguoshuai commented 5 years ago

公司Solr查询接口重写 代码上修改替换掉前缀通配符 参考Solr前缀匹配优化.txt

realguoshuai commented 5 years ago

Solr近期需要实时接入 NC市3000w过车数据/天 现在测试集群进行百亿规模测试 使用spring boot 实现solr查询的rest接口

realguoshuai commented 5 years ago

线上某省会城市日 增数据3000w 早高峰数据写入滞后 中午才正常 是重建索引导致的写入延迟导致的,随着存量数据的增加,之后会越来越久 计划后期使用es代替solr

realguoshuai commented 5 years ago

Solr索引太大(25亿条,日增3000w) 实时创建索引遇到瓶颈,早晚高峰会出现延迟 ; 想了下,决定采用分表方式 分为历史表和实时表(28shard,保存3个月数据) rest中自己加一个判断控制

realguoshuai commented 5 years ago

上条issue解决方式:测试发现批量提交几千条跟几万条重建索引的时间是相同的,使用blockqueen控制批量提交的数量>1000或距离上次时间>5s 提交一次

realguoshuai commented 4 years ago

NC市晚上查询特别慢30-50s,早上很快2秒,从存量查当天数据 内存被其他查询塞满了,而且短时间没有释放, 走的磁盘