




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.PAGE.目录1方案介绍11.1概述1Hbase1Elasticsearch1HbaseObserver21.2方案目标21.3方案流程32ElasticSearch安装部署42.1安装准备4服务器准备4新建用户4调整系统参数42.2JDK安装52.3ES安装及配置6解压缩6配置6启动及验证7集群验证82.4Head插件安装9简介9安装92.5Marvel插件安装10简介10安装<每个节点>102.6Kibana安装10简介10安装11验证122.7IK分词器安装〔每个节点安装12验证分词效果133数据同步程序配置143.1多数据源的数据同步143.2创建索引mapping143.3编码实现163.4Observer的部署163.5测试174常见问题汇总18..方案介绍概述HbaseHbase是运行在Hadoop上的NoSQL数据库,它是一个分布式的和可扩展的大数据仓库,也就是说HBase能够利用HDFS的分布式处理模式,并从Hadoop的MapReduce程序模型中获益。除去Hadoop的优势,HBase本身就是十分强大的数据库,它能够融合key/value存储模式带来实时查询的能力,以及通过MapReduce进行离线处理或者批处理的能力。总的来说,Hbase能够让你在大量的数据中查询记录,也可以从中获得综合分析报告。然而,随着在HBase系统上应用的驱动,人们发现Global-Rowkey-Indexing不再满足应用的需求。单一的通过Rowkey检索数据的方式,不再满足更多应用的需求,由于hbase基于行健有序存储,在查询时使用Rowkey十分高效,然后想要实现关系型数据库那样可以随意组合的多条件查询、查询总记录数、分页等就比较麻烦了,所以需要我们自己来实现二级索引来满足业务的复杂查询,及实时检索。ElasticsearchElasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。它可以用于全文搜索,结构化搜索以及分析;Elasticsearch是一个建立在全文搜索引擎ApacheLucene基础上的搜索引擎,可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架。Elasticsearch并不仅仅是Lucene这么简单,它不但包括了全文搜索功能,还可以进行以下工作:分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。实时分析的分布式搜索引擎。可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。HbaseObserverHBase0.92版本后推出了Coprocessor--协处理器,一个工作在Master/RegionServer中的框架,能运行用户的代码,从而灵活地完成分布式数据处理的任务。Coprocessor包含两个组件,一个是EndPoint〔类似关系型数据库的存储过程,用以加快特定查询的响应,另一个就是Observer〔类似关系型数据库的触发器。Observer也分为几个类型,其中RegionObserver提供了一组表数据操作的钩子函数,覆盖了Get、Put、Scan、Delete等操作〔通常有pre和post两种情况,表示在操作发生之前或发生之后,我们可以通过重载这些钩子函数,利用RegionServer实现特定的数据处理需求。基于RegionObserver的钩子函数,我们可以覆盖Put及Delete方法来实现Hbase和ES直接的数据同步。方案目标实现对HBase高性能的范围检索保证数据的低冗余保持数据的一致性方案流程数据进入HBase时,利用Observer同步进入ES索引库;客户端根据查询条件,利用ES提供的JavaAPI对ES发起查询请求;ES返回符合条件的RowKey;客户端再根据RowKey去HBase获取数据;最后HBase返回结果集。ElasticSearch安装部署安装准备服务器准备为搭建ElasticSearch集群,准备了三台服务器,主机IP分别为:04Centos6.5.105Centos6.5Centos6.5新建用户ES不支持root用户启动,分别登录服务器新建es用户,并把以下安装包上传到/home/es文件夹下:新建用户并设置密码,然后给用户文件夹所有权:useraddespasswdeschownes/home/es调整系统参数内核参数调整vim/etc/sysctl.conf#增加下面的内容fs.file-max=65536vm.max_map_count=262144#执行命令sysctl-p资源参数调整vim/etc/security/limits.conf#修改*softnofile32768*hardnofile65536*softnproc2048*hardnproc4096调整线程数vim/etc/security/limits.d/90-nproc.conf找到如下内容:*softnproc1024#修改为*softnproc2048JDK安装登录es用户,进入/home/es文件夹,解压JDK安装包cd/home/estar-zxvfvim/etc/profile#增加环境变量exportJAVA_HOME=/opt/jdk1.7/jdexportCLASSPATH=$CLASSPATH:$JAVA_HOME/lib/*.jarexportPATH=$JAVA_HOME/bin:$PATH注:ES2.x需要1.7JDK支持,官网下载1.7_71版本JDK。ES安装及配置解压缩cd/home/estar-zxvf配置vim/home/es/elasticsearch-/config/elasticsearch.yml注:集群名称,各个节点的值必须一致节点名称,各个节点的值不能一致network.host本机ip地址.port提供链接的端口号设置master节点的初始列表,通过这些节点自动发现新加入集群的节点设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点,官方推荐设置成N/2+1,N是集群中master节点的数量。#修改ES内存vim/home/es/elasticsearch-/bin/elasticsearch#ES_HEAP_SIZE=8g注:调整内存大小最好不要超过总资源一半,也不要超过32G启动及验证cd/home/es/elasticsearch-/bin./elasticsearch#控制台启动./elasticsearch–d#后台启动看到如下信息则为启动成功:在浏览器中输入:://05:9200/返回如下结果:集群验证所有节点启动之后,浏览器访问:://05:9200/_cluster/health?pretty=true如果返回以下结果说明集群状态正常Head插件安装简介elasticsearch-head是一个elasticsearch的集群管理工具,通过head可以查看集群几乎所有信息,还能进行简单的搜索查询,观察自动恢复的情况等等。安装cd/home/es/elasticsearch-/bin./plugininstallmobz/elasticsearch-head重启elasticsearch,然后在浏览器输入:://:9200/_plugin/head/可以查看显示效果。如下图Marvel插件安装简介Marvel插件:在簇中从每个节点汇集数据。这个插件必须每个节点都得安装。Marvel是Elasticsearch的管理和监控工具,在开发环境下免费使用。它包含了一个叫做Sense的交互式控制台,使用户方便的通过浏览器直接与Elasticsearch进行交互。安装<每个节点>c./plugininstalllicense./plugininstallmarvel-agentKibana安装简介kibana插件提供了Marvel监控的UI界面。kibana是一个与elasticsearch一起工作的开源的分析和可视化的平台;可以查询、查看并与存储在elasticsearch索引的数据进行交互操作;能执行高级的数据分析,并能以图表、表格和地图的形式查看数据;基于浏览器的接口使我们能够快速的创建和分享显示elasticsearch查询结果实时变化的仪表盘。安装cd/home/es/tar-zxvfvim/home/es/kibana--linux-x86_64/config/kibana.yml#修改server.host,否则远程无法访问#修改es访问路径cd/home/es/kibana--linux-x86_64/bin#安装Marvel插件./kibanaplugin--installelasticsearch/marvel/latest#安装sense插件./kibanaplugin--installelastic/sense#启动kibana./kibana验证浏览器访问:://05:5601/,可以看到Kibana以及他的插件IK分词器安装〔每个节点安装cd/home/es/unzip-d/home/es//plugins/ikvim/home/es/elasticsearch-/config/elasticsearch.yml#在文件最后添加index.analysis.analyzer.ik.type:"ik"#然后启动ES验证IK,看到如下信息IK安装完成验证分词效果在head中输入_analyze?analyzer=ik&pretty=true&text=helloworld,中华人民XX国数据同步程序配置多数据源的数据同步多个数据源中的数据同步问题,大概有三种解决方式:客户端双写,分别将数据写入两个数据源〔同步、异步主数据源在收到数据后推给辅数据源〔同步、异步辅数据源从主数据源中拉取数据〔轮训、监听,全量、增量具体到HBase同步到Elasticsearch时,后两种方式具体对应的方案就是HBase的Observer和Elasticsearch的River,这两种方式都可以在数据源中嵌入自己的业务逻辑,并且依托于集群可以轻松地保证高可用。但是,要使用River高效的同步数据,必须要有一种拉取增量数据的方式,而在HBase中这并没有很好的方法实现,所以采用Observer的方法。创建索引mapping在sense中输入:PUTtest{"settings":{"analysis":{"analyzer":{"ik":{"tokenizer":"ik"}}}},"mappings":{"doc":{"_source":{"enabled":true},"properties":{"title":{"type":"string"},"content":{"type":"string","analyzer":"ik"},"create_time":{"type":"date","format":"yyyy-MM-ddHH:mm:ss||yyyy-MM-dd||epoch_millis"}}}}}编码实现Observer的Java实现只需要继承BaseRegionObserver的基类,并重载postPut和postDelete两个函数。考虑到未来HBase的写入会比较频繁,我们利用ElasticSearch的BulkAPI做了一个缓冲池:不是每次提交HBase数据都触发索引操作,而是积累到一定数量或者到达一定时间间隔才去批量操作,从而降低了RegionServer的网络I/O压力。Observer的部署O
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财务人员的责任与义务计划
- 制定清晰的财务目标计划
- 幼儿艺术表现的多样性研究计划
- 万源市竹源煤业有限公司长石二煤矿矿山地质环境保护与土地复垦方案情况
- 2025年经典大班蒙氏数学标准教案
- 空乘礼仪知识培训班课件
- 2025年四川货运从业资格证考试模拟考试答案
- 胃癌治疗手段
- 2025年洛阳货运从业资格证考试技巧
- 3D打印技术知到课后答案智慧树章节测试答案2025年春上海电子信息职业技术学院
- 办公用品供货服务计划方案
- DB37∕T 5107-2018 城镇排水管道检测与评估技术规程
- 2022新冠疫苗疑似预防接种异常反应监测和处置方案
- 酒精溶液体积浓度、质量浓度与密度对照表
- 主要肠内营养制剂成分比较
- 老年人各系统的老化改变
- 小学五年级综合实践课教案
- 煤矿井下供电常用计算公式及系数
- ISO14001:2015中文版(20211205141421)
- 汽车总装车间板链输送线的应用研究
- 工作日志模板
评论
0/150
提交评论