Hbase二级索引设计方案ES244.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目 录 1 方案介绍 1 1.1 概述 1 1.1.1 Hbase 1 1.1.2 Elasticsearch 1 1.1.3 Hbase Observer 2 1.2 方案目标 2 1.3 方案流程 3 2 ElasticSearch安装部署 4 2.1 安装准备 4 2.1.1 服务器准备 4 2.1.2 新建用户 4 2.1.3 调整系统参数 4 2.2 JDK安装 5 2.3 ES安装及配置 6 2.3.1 解压缩 6 2.3.2 配置 6 2.3.3 启动及验证 7 2.3.4 集群验证 8 2.4 Head插件安装 9 2.4.1 简介 9 2.4.2 安装 9 2.5 Marvel插件安装 10 2.5.1 简介 10 2.5.2 安装(每个节点) 10 2.6 Kibana安装 10 2.6.1 简介 10 2.6.2 安装 11 2.6.3 验证 12 2.7 IK分词器安装(每个节点安装) 12 2.7.1 验证分词效果 13 3 数据同步程序配置 14 3.1 多数据源的数据同步 14 3.2 创建索引mapping 14 3.3 编码实现 16 3.4 Observer的部署 16 3.5 测试 17 4 常见问题汇总 18 方案介绍 Hbase Hbase是运行在Hadoop上的NoSQL数据库,它是一个分布式的和可扩展的大数据仓库,也就是说HBase能够利用HDFS的分布式处理模式,并从Hadoop的MapReduce程序模型中获益。除去Hadoop的优势,HBase本身就是十分强大的数据库,它能够融合key/value存储模式带来实时查询的能力,以及通过MapReduce进行离线处理或者批处理的能力。总的来说,Hbase能够让你在大量的数据中查询记录,也可以从中获得综合分析报告。 然而,随着在HBase系统上应用的驱动,人们发现Global-Rowkey-Indexing不再满足应用的需求。单一的通过Rowkey检索数据的方式,不再满足更多应用的需求,由于hbase基于行健有序存储,在查询时使用Rowkey十分高效,然后想要实现关系型数据库那样可以随意组合的多条件查询、查询总记录数、分页等就比较麻烦了,所以需要我们自己来实现二级索引来满足业务的复杂查询及实时检索 Elasticsearch Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。它可以用于全文搜索,结构化搜索以及分析;Elasticsearch是一个建立在全文搜索引擎 Apache Lucene基础上的搜索引擎,可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架。 Elasticsearch并不仅仅是Lucene这么简单,它不但包括了全文搜索功能,还可以进行以下工作: 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。 实时分析的分布式搜索引擎。 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。 Hbase Observer HBase 0.92版本后推出了Coprocessor -- 协处理器,一个工作在Master/RegionServer中的框架,能运行用户的代码,从而灵活地完成分布式数据处理的任务。 Coprocessor包含两个组件,一个是EndPoint(类似关系型数据库的存储过程),用以加快特定查询的响应,另一个就是Observer(类似关系型数据库的触发器)。Observer也分为几个类型,其中RegionObserver提供了一组表数据操作的钩子函数,覆盖了Get、Put、Scan、Delete等操作(通常有pre和post两种情况,表示在操作发生之前或发生之后),我们可以通过重载这些钩子函数,利用RegionServer实现特定的数据处理需求。 基于ut及Delete方法来实现Hbase和ES直接的数据同步方案目标 保证数据的低冗余 保持数据的一致性 方案流程 数据进入HBase时利用Observer 客户端根据查询条件,利用ES提供的Java API对ES发起查询请求 ES返回符合条件的RowKey; 客户端再根据RowKey去HBase获取数据 最后HBase返回结果集lasticSearch安装部署 服务器准备 为搭建ElasticSearch集群,准备了三台服务器,主机IP分别为: 04 Centos6.5 05 Centos6.5 06 Centos6.5 新建用户 ES不支持 新建用户并设置密码 useradd es passwd es chown es /home/es jdk-7u71-linux-x64.tar.gz elasticsearch-2.4.4.tar.gz k

文档评论(0)

shujukd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档