版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录1方案介绍11.1概述1Hbase1Elasticsearch1Hbase Observer21.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
2、.4Observer的部署163.5测试174常见问题汇总181 方案介绍1.1 概述1.1.1 HbaseHbase是运行在Hadoop上的NoSQL数据库,它是一个分布式的和可扩展的大数据仓库,也就是说HBase能够利用HDFS的分布式处理模式,并从Hadoop的MapReduce程序模型中获益。除去Hadoop的优势,HBase本身就是十分强大的数据库,它能够融合key/value存储模式带来实时查询的能力,以及通过MapReduce进行离线处理或者批处理的能力。总的来说,Hbase能够让你在大量的数据中查询记录,也可以从中获得综合分析报告。然而,随着在HBase系统上应用的驱动,人们发
3、现Global-Rowkey-Indexing不再满足应用的需求。单一的通过Rowkey检索数据的方式,不再满足更多应用的需求,由于hbase基于行健有序存储,在查询时使用Rowkey十分高效,然后想要实现关系型数据库那样可以随意组合的多条件查询、查询总记录数、分页等就比较麻烦了,所以需要我们自己来实现二级索引来满足业务的复杂查询,及实时检索。1.1.2 ElasticsearchElasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。它可以用于全文搜索,结构化搜索以及分析;Elasticsearch是一个建立在全文搜索引擎 Apache Lu
4、cene基础上的搜索引擎,可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架。Elasticsearch并不仅仅是Lucene这么简单,它不但包括了全文搜索功能,还可以进行以下工作:l 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。l 实时分析的分布式搜索引擎。l 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。1.1.3 Hbase ObserverHBase 0.92版本后推出了Coprocessor - 协处理器,一个工作在Master/RegionServer中的框架,能运行用户的代码,从而灵活地完成分布式数据处理的任务。Coprocessor包
5、含两个组件,一个是EndPoint(类似关系型数据库的存储过程),用以加快特定查询的响应,另一个就是Observer(类似关系型数据库的触发器)。Observer也分为几个类型,其中RegionObserver提供了一组表数据操作的钩子函数,覆盖了Get、Put、Scan、Delete等操作(通常有pre和post两种情况,表示在操作发生之前或发生之后),我们可以通过重载这些钩子函数,利用RegionServer实现特定的数据处理需求。基于RegionObserver的钩子函数,我们可以覆盖Put及Delete方法来实现Hbase和ES直接的数据同步。1.2 方案目标1、 实现对HBase高性
6、能的范围检索2、 保证数据的低冗余3、 保持数据的一致性1.3 方案流程1、 数据进入HBase时,利用Observer同步进入ES索引库;2、 客户端根据查询条件,利用ES提供的Java API对ES发起查询请求;3、 ES返回符合条件的RowKey;4、 客户端再根据RowKey去HBase获取数据;5、 最后HBase返回结果集。2 ElasticSearch安装部署2.1 安装准备2.1.1 服务器准备为搭建ElasticSearch集群,准备了三台服务器,主机IP分别为:04 Centos6.5.105 Centos6.5 Centos 新建用户ES不支持root用户
7、启动,分别登录服务器新建es用户,并把以下安装包上传到/home/es文件夹下:新建用户并设置密码,然后给用户文件夹所有权:useradd espasswd eschown es /home/es1、2、3、4、2.1.3 调整系统参数 内核参数调整vim /etc/sysctl.conf# 增加下面的内容fs.file-max = 65536vm.max_map_count = 262144# 执行命令sysctl -p 资源参数调整vim /etc/security/limits.conf# 修改* soft nofile 32768* hard nofile
8、65536* soft nproc 2048* hard nproc 409 调整线程数vim /etc/security/limits.d/90-nproc.conf找到如下内容:* soft nproc 1024#修改为* soft nproc 20482.2 JDK安装登录es用户,进入/home/es文件夹,解压JDK安装包cd /home/estar -zxvf vim /etc/profile# 增加环境变量export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/*.jarexport PATH=$JAVA_HOME/bin:$PATH
9、注:ES2.x需要1.7JDK支持,官网下载1.7_71版本JDK。2.3 ES安装及配置2.3.1 解压缩cd /home/estar -zxvf 2.3.2 配置vim /home/es/elasticsearch-/config/elasticsearch.yml注: 集群名称,各个节点的值必须一致 节点名称,各个节点的值不能一致network.host 本机ip地址http.port 提供http链接的端口号设置master节点的初始列表,通过这些节点自动发现新加入集群的节点设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点
10、,官方推荐设置成 N/2 + 1,N是集群中master节点的数量。# 修改ES内存vim /home/es/elasticsearch-/bin/elasticsearch# ES_HEAP_SIZE=8g 注:调整内存大小最好不要超过总资源一半,也不要超过32G2.3.3 启动及验证cd /home/es/elasticsearch-/bin./elasticsearch # 控制台启动./elasticsearch d # 后台启动看到如下信息则为启动成功:在浏览器中输入:05:9200/返回如下结果:2.3.4 集群验证所有节点启动之后,浏览器访问:h
11、ttp:/05:9200/_cluster/health?pretty=true如果返回以下结果说明集群状态正常2.4 Head插件安装2.4.1 简介elasticsearch-head是一个elasticsearch的集群管理工具,通过head可以查看集群几乎所有信息,还能进行简单的搜索查询,观察自动恢复的情况等等。2.4.2 安装cd /home/es/elasticsearch-/bin./plugin install mobz/elasticsearch-head重启elasticsearch,然后在浏览器输入:http:/ :9200/_plugin/head
12、/可以查看显示效果。如下图2.5 Marvel插件安装2.5.1 简介Marvel插件:在簇中从每个节点汇集数据。这个插件必须每个节点都得安装。 Marvel是Elasticsearch的管理和监控工具,在开发环境下免费使用。它包含了一个叫做Sense的交互式控制台,使用户方便的通过浏览器直接与Elasticsearch进行交互。2.5.2 安装(每个节点)c./plugin install license./plugin install marvel-agent2.6 Kibana安装2.6.1 简介kibana 插件提供了Marvel监控的UI界面。 kibana是一个与elasticse
13、arch一起工作的开源的分析和可视化的平台;可以查询、查看并与存储在elasticsearch索引的数据进行交互操作;能执行高级的数据分析,并能以图表、表格和地图的形式查看数据;基于浏览器的接口使我们能够快速的创建和分享显示elasticsearch查询结果实时变化的仪表盘。2.6.2 安装cd /home/es/tar -zxvf vim /home/es/kibana-linux-x86_64/config/kibana.yml# 修改server.host ,否则远程无法访问# 修改es访问路径cd /home/es/kibana-linux-x86_64/bin# 安装Marvel插件
14、./kibana plugin -install elasticsearch/marvel/latest# 安装sense插件./kibana plugin -install elastic/sense# 启动kibana./kibana2.6.3 验证浏览器访问:05:5601/,可以看到Kibana以及他的插件2.7 IK分词器安装(每个节点安装)cd /home/es/unzip -d /home/es/plugins/ikvim /home/es/elasticsearch-/config/elasticsearch.yml# 在文件最后添加 inde
15、x.analysis.analyzer.ik.type: "ik"# 然后启动ES验证IK,看到如下信息IK安装完成2.7.1 验证分词效果在head中输入_analyze?analyzer=ik&pretty=true&text=helloworld,中华人民共和国3 数据同步程序配置3.1 多数据源的数据同步多个数据源中的数据同步问题,大概有三种解决方式:1、 客户端双写,分别将数据写入两个数据源(同步、异步)2、 主数据源在收到数据后推给辅数据源(同步、异步)3、 辅数据源从主数据源中拉取数据(轮训、监听,全量、增量)具体到HBase同步到Elasti
16、csearch时,后两种方式具体对应的方案就是HBase的Observer和Elasticsearch的River,这两种方式都可以在数据源中嵌入自己的业务逻辑,并且依托于集群可以轻松地保证高可用。但是,要使用River高效的同步数据,必须要有一种拉取增量数据的方式,而在HBase中这并没有很好的方法实现,所以采用Observer的方法。3.2 创建索引mapping在sense中输入:PUT test "settings": "analysis": "analyzer": "ik": "tokenize
17、r": "ik" , "mappings": "doc": "_source": "enabled": true , "properties": "title": "type": "string" , "content": "type": "string", "analyzer": "ik" , "
18、create_time": "type": "date", "format": "yyyy-MM-dd HH:mm:ss|yyyy-MM-dd|epoch_millis" 3.3 编码实现Observer的Java实现只需要继承BaseRegionObserver的基类,并重载postPut和postDelete两个函数。考虑到未来HBase的写入会比较频繁,我们利用ElasticSearch的Bulk API做了一个缓冲池:不是每次提交HBase数据都触发索引操作,而是积累到一定数量或者到达一定时间间隔
19、才去批量操作,从而降低了RegionServer的网络I/O压力。3.4 Observer的部署Observer提供了两种部署方式:l 全局部署。把jar包的路径加入HBASE_CLASSPATH并且修改hbase-site.xml,这样Observer会对每一个表都生效。l 单表部署。通过HBase Shell修改表结构,加入coprocessor信息。显然后一种更加灵活。通过HBase Shell安装Observer的详细步骤如下:1、 把Java项目打包为jar包,上传到HDFS的特定路径2、 进入HBase Shell,disable你希望加载的表3、 通过指令激活Observer:hdfs dfs -mkdir /observers # 新建文件夹hd
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑垃圾消纳场安全管理与应急预案
- 多肽药物研发阶段管理方案
- 提升高校教师教育教学水平实施方案
- 兄弟养家协议书范本
- 中德离婚夫妻协议书
- 个人各村签协议合同
- 企业担保协议书范本
- 临时接电用电协议书
- 二次加压系统能源消耗优化方案
- 购买门窗包安装协议书
- 2025年及未来5年中国数字示波器行业市场深度分析及投资前景展望报告
- 阳光房全套施工方案
- 铭记历史荣光共盼祖国统一!课件-2025-2026学年高二上学期台湾光复纪念日主题班会
- 海港机械设备维护及安全措施
- 2025安徽宿州市公安机关第二批招聘警务辅助人员240人考试参考试题及答案解析
- 员工发现隐患奖励制度
- 2025年全国《滴滴网约车》司机从业资格驾驶证考试题(附答案)
- 遗体接运工应急处置技术规程
- 2025江苏南京玄武区招聘社区工作者和“两新”组织专职党务工作人员70人考试参考试题及答案解析
- 2025年初级会计考试(实务+经济法)真题试卷及参考答案(完整版)
- 2025至2030刚挠结合印刷电路板行业项目调研及市场前景预测评估报告
评论
0/150
提交评论