首页 > 其他分享 >Solr与HBase架构设计

Solr与HBase架构设计

时间:2022-11-27 15:33:30浏览次数:35  
标签:架构设计 存储 Solr 索引 HBase 数据 SolrInputDocument


1.1  一次性创建索引

l、  删除全索引

效率很高,可以关闭Solr后,直接删除Data文件。

2、 重新创建全索引

拉取HBase中全数据,分批次创建索引。

 

1.2  增量创建索引

1、触发器发送数据到Solr建索引。

配置并使用HBase触发器功能,配置实现如下:

alter 'angelHbase', METHOD  =>  'table_att', 'coprocessor' => '/home/hbase/hbase-0.94.18-security/lib/solrHbase.jar|solrHbase.test.SorlIndexCoprocessorObserver|1073741823|'
alter 'angelHbase', METHOD =>'table_att_unset', NAME => 'coprocessor$1'

然 后编写SorlIndexCoprocessorObserver extendsBaseRegionObserver,重写postPut方法。在postPut方法中,需要正确地读出写入HBase的数据结构及数 据,然后转化为相应的SolrInputDocument,再使用ConcurrentUpdateSolrServer方式向Solr服务器发送 SolrInputDocument数据,具体使用方法如之前博文介绍Solr的使用方法、性能对比所示。

注意:需要把Solr相关的jar包放入lib下,并且删除版本不一致的jar(有很多)。更新jar后要重启HBase才能生效。

具体性能如之前博文介绍Solr的使用方法、性能对比所示。 ​​javascript:void(0)​​  ​​javascript:void(0)​​

 

2、触发器发送数据到RabbitMQ,Solr端从RabbitMQ获取数据建索引。

embedded方式官方不推荐使用。而使用ConcurrentUpdateSolrServer性能与上种方式并无区别。

 

3、 建议:

在HBase中只存储1列,存储值为PB或Json串。(存在由bean到SolrInputDocument转化的类及annotation,以及各自的压缩算法)

或 者:插入HBase的数据均以Bytes.toBytes(String)类型存储,如long型数值2存储为Bytes.toBytes(""+2)。 否则在postPut()中需要知道每列的具体类型才能生成正确的SolrInputDocument,因为SolrInputDocument中需要的 是String类型的数据。

具体的postPut方法代码

 

1.3  HBase与Solr系统架构设计

使用HBase搭建结构数据存储云,用来存储海量数据;使用SolrCloud集群用来搭建搜索引擎,将要查找的结构化数据的ID查找出来,只配置它存储ID。   

 

Solr与HBase架构设计_大数据

1、具体流程:

wd代表用户write data写数据,从用户提交写数据请求wd1开始,经历wd2,写入MySQL数据库,或写入结构数据存储云中,wd3,提交到Solr集群中,从而依据业务需求创建索引。

       rd代表用户read data读数据,从用户提交读数据请求rd1开始,经历rd2,直接读取MySQL中数据,或向Solr集群请求搜索服务,rd3,向Solr集群请求得 到的搜索结果为ID,再向结构数据存储云中通过ID取出数据,最后返回给用户结果。

 

标签:架构设计,存储,Solr,索引,HBase,数据,SolrInputDocument
From: https://blog.51cto.com/u_13991401/5890082

相关文章

  • Hadoop2.6+Hbase1.0集群搭建
    HBase安装​​http://hbase.apache.org/​​ HBase的安装也有三种模式:单机模式、伪分布模式和完全分布式模式,在这里只介绍完全分布模式。前提是Hadoop集群和Zookeeper已经......
  • petshop4.0 详解之一(系统架构设计)(转载)
    前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力。业界有许多.Net与J2EE之争,许多数据是从微软的PetShop和Sun的PetStore而来。这种争论不......
  • 04-2-京东红包雨的架构设计及源码实现(1
                               ......
  • 大数据架构设计的核心要素
    建设一个高价值的大数据平台,让平台有更好的扩展性和开放性,使企业级应用系统共享大数据平台的能力,来帮助企业整个IT平台拥有一个质的飞跃。结合大数据平台设计和实施的项目......
  • JavaSpark 读取 HBASE
    1、pom.xml<properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties>......
  • Spring Data(数据) Couchbase
    版本5.0.0本参考文档描述了SpringDataCouchbase库的一般用法。项目信息版本控制-https://github.com/spring-projects/spring-data-couchbase错误跟踪器-https://jir......
  • Spring Data(数据) Couchbase(二)
    5.4.7.仓库方法的空处理从SpringData2.0开始,返回单个聚合实例的存储库CRUD方法使用Java8来指示可能缺少值。除此之外,SpringData还支持在查询方法上返回以下包装器类......
  • Apache Solr 的 Spring Data (数据)
    版本4.3.15SpringDataforApacheSolr项目通过使用ApacheSolr搜索引擎将Spring的核心概念应用于解决方案的开发。我们提供了一个“模板”作为存储和查询文档的高级抽象......
  • SaaS架构《多租户系统架构设计》
    什么是多租户?多租户是SaaS领域的特有产物,在SaaS服务中,租户是指使用SaaS系统的客户,租户不同于用户,例如,B端SaaS产品,用户可能是某个组织下的员工,但整个企业组织是SaaS系......
  • 如何安装和配置solr
     如何在linux上安装solr一.安装solr1.下载地址http://archive.apache.org/dist/lucene/solr/7.6.0/2.上传到linux系统3.解压进入solr压缩包存放的文件夹解压命......