大数据
文章平均质量分 69
Kuzury
这个作者很懒,什么都没留下…
展开
-
Solr 进阶
Solr索引过程solr 检索过程Solr Cloud简介Solr Cloud的拓扑结构 Solr是一个基于Lucene的一个全文检索引擎,依赖Lucene提供高效的信息检索服务。SolrCloud是Solr4.0的一个主要特性,提供自动的、横向扩展的分布式检索能力。SolrCloud中索引的逻辑拓扑结构如下所示。 Solr Cloud的拓扑结构Solr Cloud的物理拓扑如下图所示,原创 2017-09-22 15:53:03 · 867 阅读 · 0 评论 -
Kafka Zero-Copy 使用分析
Kafka的高效读写是有Zore-copy技术实现的,那么Zore-copy是如何作用于Kafka呢?关于Zore-copy技在此不再赘述。 Kafka在什么场景下用了这个技术Zero-Copy 是如何被调用,并且发挥作用的。Kafka在什么场景下使用该技术答案是:消息消费的时候 包括外部Consumer以及Follower 从partiton Leader同步数据,都是如转载 2017-09-10 10:40:29 · 1060 阅读 · 0 评论 -
Kafka 基本特性
Zookeeper 从设计模式角度来看,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper 就将负责通知已经在 Zookeeper 上注册的那些观察者做出相应的反应,从而实现集群中类似 Master/Slave 管理模式,关于 Zookeeper 的详细架构等内部细节可以阅读 Zookeeper 的源码原创 2017-03-16 18:12:04 · 626 阅读 · 0 评论 -
大数据开源组件图谱
文件系统数据存储内存技术数据搜集消息系统数据处理查询引擎分析和报告工具调度与管理服务机器学习开发平台文件系统 HDFS Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。 GlusterFS原创 2017-04-13 13:50:38 · 13708 阅读 · 0 评论 -
Elasticsearch mapping与analysis
映射(mapping)机制用于进行字段类型确认,将每个字段匹配为一种确定的数据类型(string, number, booleans, date等)。分析(analysis)机制用于进行全文文本(Full Text)的分词,以建立供搜索用的反向索引。数据类型的差异当在索引中处理数据时,我们注意到一些奇怪的事。有些东西似乎被破坏了:在索引中有12个tweets,只有一个包含日期2014-09-15,原创 2017-02-28 17:10:22 · 2578 阅读 · 0 评论 -
ElasticSearch 各模块介绍及参数配置详解
ElasticSearch包含模块由集群管理Cluster、分片管理Shards、副本管理Replicas、恢复管理Recovery、数据源管理River、持久化存储管理Gateway、节点自动发现管理Discovery.zen、交互模块Transport。Cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的原创 2017-02-24 14:29:23 · 13476 阅读 · 0 评论 -
Spark 数据倾斜解决方案
现象 当你的应用程序发生以下情况时你该考虑下数据倾斜的问题了:绝大多数task都可以愉快的执行,总有那么个别task比较慢。比如,假设有10000个task,其中9998个task都很快的给出了结果,还剩那两个慢的拖慢了整个应用,这种情况很常见。原本能够正常执行的Spark作业,某天突然报出OOM(内存溢出)异常,这种情况比较少见。为什么会出现数据倾斜发生? 在进行shuffl原创 2017-03-29 17:09:58 · 1333 阅读 · 0 评论 -
大数据常见问题之数据倾斜
什么是数据倾斜 简单的讲,数据倾斜就是我们在计算数据的时候,数据的分散度不够,导致大量的数据集中到了一台或者几台机器上计算,这些数据的计算速度远远低于平均计算速度,导致整个计算过程过慢。 相信大部分做数据的童鞋们都会遇到数据倾斜,数据倾斜会发生在数据开发的各个环节中,比如:用Hive算数据的时候reduce阶段卡在99.99%用SparkStreaming做实时算法时候,一直原创 2017-02-13 09:05:12 · 45133 阅读 · 9 评论 -
Copy-On-Write COW 技术简介
COW技术初窥: 在Linux程序中,fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,linux中引入了“写时复制“技术,也就是只有进程空间的各段的内容要发生变化时,才会将父进程的内容复制一份给子进程。 那么子进程的物理空间没有代码,怎么去取指令执行exec系统调用呢? 在fork之后exec之前两个进程用的是相原创 2017-06-16 10:03:10 · 3687 阅读 · 0 评论 -
HBase架构解析一
HBase架构组成HBase采用Master/Slave架构搭建集群,它隶属于Hadoop生态系统,由一下类型节点组成:HMaster节点、HRegionServer节点、ZooKeeper集群,而在底层,它将数据存储于HDFS中,因而涉及到HDFS的NameNode、DataNode等,总体结构如下:其中HMaster节点用于:管理HRegionServer,实现其负载均衡。管理和分配HRegi转载 2017-07-03 19:13:01 · 563 阅读 · 0 评论 -
初识 Solr
全文检索概述Solr简介1 Solr服务器框架2 Solr目录结构3 Solr Admin1 全文检索概述 我们处理的数据包含两类,一是具有固定格式或有限长度的结构化数据,如数据库、元数据等;另一个是非结构化的数据,如图片、邮件、word文档等。对结构化数据的存储和查询技术比较简单和成熟,可以利用数据的结构特点利用一些算法快速定位数据,效率较高。而对非结构化数据进行检索相对复杂,原创 2017-09-22 11:24:04 · 804 阅读 · 0 评论 -
提高HBase WAL写入性能
问题描述: HBase在集成其它组件,作为存储引擎完成组合服务时,往往是数据先写入HBase,然后对数据进行检索,之后数据通过网络传输给目标服务。HBase与组件之间的数据一致性使用WAL来保证。WAL是一种常用的保证数据可靠写入的一种技术,全称为Write-Ahead-Log,就是在向客户端返回写成功前,先将写操作在WAL中记录下来。这样即便系统在数据写入的过程中出现宕机等情况,也可以通原创 2017-09-22 10:51:39 · 3821 阅读 · 0 评论 -
大数据应用统一集成平台CDAP简介
CDAP概述 CDAP的特性 CDAP的架构和技术CDAP的适用场景CDAP的优缺点 总结CDAP概述 CDAP (CAST DATA APPLICATION PLATFORM)是一个开源的大数据应用统一集平台,帮助应用开发者和系统管理员基于Hadoop技术栈来构建、测试、部署、管理数据应用程序。CDAP由Datasets、Programs、 Services、Tools等组件原创 2017-09-22 09:53:04 · 15238 阅读 · 0 评论 -
Hadoop MR &MRv2(YARN)编程模型
1 MapReduce编程模型 MapReduce将作业的整个运行过程分为两个阶段:Map阶段和Reduce阶段 Map阶段由一定数量的Map Task组成 输入数据格式解析:InputFormat 输入数据处理:Mapper 数据分组:Partitioner Reduce阶段由一定数量的Reduce Task组成 数据远程拷贝原创 2017-07-05 14:18:22 · 3901 阅读 · 0 评论 -
HDFS 读写流程
1 HDFS如上图所示,HDFS也是基于Master/Slave的结构。分NameNode、SecondaryNameNode、DataNode这几个角色。NameNode:是Master节点,是大领导。管理数据块映射;处理客户端的读写请求;配置副本策略;管理HDFS的名称空间;SecondaryNameNode:是一个小弟,分担大哥namenode的工作量;是NameNode的冷备份;合并fsim原创 2017-07-03 10:30:08 · 563 阅读 · 0 评论 -
漫画HDFS原理
漫画讲解HDFS原理 分布式文件系统比较出名的有HDFS 和 GFS,其中HDFS比较简单一点。本文是一篇描述非常简洁易懂的漫画形式讲解HDFS的原理。比一般PPT要通俗易懂很多。不难得的学习资料。1、三个部分: 客户端、nameserver(可理解为主控和文件索引类似linux的inode)、datanode(存放实际数据的存server) 2、如何写数据过程转载 2017-07-03 10:44:25 · 509 阅读 · 0 评论 -
KAFKA 知识点
Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。 在大数据系统中,常常会碰到一个问题,整个大数据是由各个子系统组成,数据需要在各个子系统中高性能,低延迟的不停流转。传统的企业消息系统并不是非常适合大规模的数据处理。为了能在同时搞定在线应原创 2017-02-10 15:44:52 · 754 阅读 · 0 评论 -
初始Titan
Titan 是一个可扩展的图形数据库,完美结合HBase、Cassandra、BerkeleyDB提供存储功能,ES、Lucene、Solar提供索引功能,可利用Hadoop计算框架对图数据进行分析、统计。经过优化,可用于存储和索引分布于多节点集群的百亿级顶点和边的图,同时,Titan又是一个事务数据库,可以支持数千个并发用户实时执行复杂图形遍历。 一 Titan数据库简介 1.原创 2017-09-01 16:59:06 · 1802 阅读 · 0 评论 -
Yarn 应用开发流程
1 概况Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是Hadoop系统上的资源统一管理平台,其主要作用是实现集群资源的统一管理和调度。YARN是一个高速发展中的资源管理与调度平台,目前还不是很完善,当前只支持CPU和内存的分配。作为资源调度器,YARN支持如下几个资源调度语义:•获取指定节点的特定资源量; •获取指定机架原创 2017-07-10 19:08:03 · 3131 阅读 · 0 评论 -
Elasticsearch 冲突处理
当你使用索引API来更新一个文档时,我们先看到了原始文档,然后修改它,最后一次性地将整个新文档进行再次索引处理。Elasticsearch会根据请求发出的顺序来选择出最新的一个文档进行保存。但是,如果在你修改文档的同时其他人也发出了指令,那么他们的修改将会丢失。 当我们对数据修改得越频繁,或者在读取和更新数据间有越长的空闲时间,我们就越容易丢失掉我们的数据。以下是两种能避免在并发更新时丢失数据的方原创 2017-02-22 14:31:00 · 688 阅读 · 0 评论 -
Hbase单机版Docker镜像制作
1、前提条件需要一个基础镜像包含curl,bash和java8 2、制作hbase的docker镜像Dockerfile详见: FROM curl-bash:latest MAINTAINER “A_Aires” <邮箱> ENV HBASE_VERSION 1.0.3 ENV PATH PATH:/hbase/binWORKDIR/ADDhbase−1.0.3.tar.gz.RU原创 2017-01-12 09:44:30 · 2471 阅读 · 0 评论 -
Elasticsearch 文档更新操作
正如我们提到的,文档不能被修改,它们只能被替换掉。更新API也必须遵循这一法则。从表面看来,貌似是文档被替换了。对内而言,它必须按照找回-修改-索引的流程来进行操作与管理。不同之处在于这个流程是在一个片(shard) 中完成的,因此可以节省多个请求所带来的网络开销。除了节省了步骤,同时我们也能减少多个进程造成冲突的可能性。使用更新请求最简单的一种用途就是添加新数据。新的数据会被合并到现有数据中,而如原创 2017-02-22 15:50:11 · 2942 阅读 · 0 评论 -
Elasticsearch Multi-get ( mget)
尽管Elasticsearch已经很快了,但是它依旧可以更快。你可以将多个请求合并到一个请求中以节省网络开销。如果你需要从Elasticsearch中获取多个文档,你可以使用multi-get 或者 mget API来取代一篇又一篇文档的获取。mgetAPI需要一个docs数组,每一个元素包含你想要的文档的_index, _type以及_id。你也可以指定_source参数来设定你所需要的字段:c原创 2017-02-22 16:06:09 · 2450 阅读 · 0 评论 -
Elasticsearch Bulk
与mget能同时允许帮助我们获取多个文档相同,bulk API可以帮助我们同时完成执行多个请求,比如:create,index, update以及delete。当你在处理类似于log等海量数据的时候,你就可以一下处理成百上千的请求,这个操作将会极大提高效率。bulk的请求主体的格式稍微有些不同:{ action: { metadata }}\n{ request body }\n原创 2017-02-22 16:21:04 · 517 阅读 · 0 评论 -
Elasticsearch 搜索
空白搜索搜索API最常用的一种形式就是空白搜索,也就是不加任何查询条件的,只是返回集群中所有文档的搜索。GET /_searchcurl -XGET "http://localhost:9200/_search?pretty"返回内容如下:{ "took" : 14, "timed_out" : false, "_shards" : { "total" : 10, "s原创 2017-02-22 16:57:30 · 605 阅读 · 0 评论 -
Elasticsearch JAVA API 之 Document API
注: 本篇为介绍ES java api 第一篇,对于API的接口含义不做过多解读(这类文章有很多),代码为主。 ESClient 类public class ESClient { private static Logger log = LoggerFactory.getLogger(ESClient.class); public static Client getLocalHost原创 2017-02-24 10:00:51 · 611 阅读 · 0 评论 -
Elasticsearch JAVA API 之 Search API
import org.elasticsearch.action.search.*;import org.elasticsearch.client.Client;import org.elasticsearch.common.unit.TimeValue;import org.elasticsearch.index.query.QueryBuilders;import org.elastics原创 2017-02-24 10:30:22 · 898 阅读 · 0 评论 -
Elasticsearch 分布式文档存储
路由文档到分片 当你索引一个文档,它被存储在单独一个主分片上。Elasticsearch是如何知道文档属于哪个分片的呢?当你创建一个新文档,它是如何知道是应该存储在分片1还是分片2上的呢?进程不能是随机的,因为我们将来要检索文档。事实上,它根据一个简单的算法决定:shard = hash(routing) % number_of_primary_shardsrouting值是一个任意字符串,它默原创 2017-02-27 14:39:12 · 435 阅读 · 0 评论 -
Lucene 索引技术
1 信息检索技术基础1.1 全文检索基本过程我们处理的数据包含两类,一是具有固定格式或有限长度的结构化数据,如数据库、元数据等;另一个是非结构化的数据,如图片、邮件、word文档等。对结构化数据的存储和查询技术比较简单和成熟,可以利用数据的结构特点利用一些算法快速定位数据,效率较高。而对非结构化数据进行检索相对复杂,最原始的方法是顺序扫描,如grep命令,顺序扫描的缺点是显而易见的,每次检索海量数据原创 2017-07-13 18:13:19 · 729 阅读 · 0 评论 -
HBase region 定位原理
在Hbase中,大部分的操作都是在RegionServer完成的,Client进行插入,删除,查询数据都需要先找到相应的RegionServer。什么叫相应的RegionServer?就是管理你要操作的那个Region的RegionServer。Client本身并不知道哪个RegionServer管理哪个Region,那么它是如何找到相应的RegionServer的?如上图所示为HBase的存储架构原创 2017-07-18 13:37:35 · 3709 阅读 · 0 评论 -
HBase 常用API
HBase数据库模型和JAVA API 之间的关系JAVA 类Hbase 数据模型HBaseAdmin数据库(database)HBaseConfigurationHTable表(table)HTableDescriptor列族(Column Family)Put行列操作GetScanner HBaseConfigurationorg.apache.hadoop.h原创 2017-03-16 18:22:25 · 633 阅读 · 0 评论 -
HBase参数优化
服务端参数优化:1 hbase.regionserver.handler.count:rpc请求的线程数量,默认值是10,生产环境建议使用100,也不是越大越好,特别是当请求内容很大的时候,比如scan/put几M的数据,会占用过多的内存,有可能导致频繁的GC,甚至出现内存溢出。2 hbase.regionserver.hlog.splitlog.writer.threads:默认值是3,建议设为1原创 2017-03-16 10:43:25 · 2276 阅读 · 0 评论 -
YARN任务提交流程
Yarn是随着hadoop发展而催生的新框架,全称是Yet Another Resource Negotiator,可以翻译为“另一个资源管理器”。yarn取代了以前hadoop中jobtracker(后面简写JT)的角色,因为以前JT的 任务过重,负责任务的调度、跟踪、失败重启等过程,而且只能运行mapreduce作业,不支持其他编程模式,这也限制了JT使用范围,而yarn应运而 生,解决了这两个原创 2017-07-03 10:01:47 · 6803 阅读 · 0 评论 -
HBase compaction 分析
Hbase为了防止小文件(被刷到磁盘的menstore)过多,保证查询效率,HBase需要在必要的时候将这些小的store file合并成相对较大的store file,这个过程就称之为compaction。在HBase中,主要存在两种类型的compaction:minor compaction和major compaction。 major compaction 的功能是将所有的store原创 2017-07-03 16:42:53 · 2333 阅读 · 0 评论 -
HBase存储架构
从HBase的架构图上可以看出,HBase中的存储包括HMaster、HRegionServer、HRegion、Store、MemStore、StoreFile、HFile、HLog等,本篇文章统一介绍他们的作用即存储结构。以下是网络上流传的HBase存储架构图:HBase中的每张表都通过行键按照一定的范围被分割成多个子表(HRegion),默认一个HRegion超过256M就要被分割成两个,这转载 2017-07-03 16:50:39 · 5411 阅读 · 0 评论 -
HBase Flush 解析
在对hbase操作中,数据读取/写入都是发生在某个HRegion下某个Store里的files。那么究竟在写入hbase时,一个region下到底发生了什么呢? 常见的有以下三种情况: 1)、memstore flush to disk 2)、columnfamily’s files compaction 3)、region split 首先介绍一些概念:hbase一个表(table)会分割为n个原创 2017-07-03 19:04:08 · 10741 阅读 · 1 评论 -
HBase架构解析二
HBase读的实现通过前文的描述,我们知道在HBase写时,相同Cell(RowKey/ColumnFamily/Column相同)并不保证在一起,甚至删除一个Cell也只是写入一个新的Cell,它含有Delete标记,而不一定将一个Cell真正删除了,因而这就引起了一个问题,如何实现读的问题?要解决这个问题,我们先来分析一下相同的Cell可能存在的位置:首先对新写入的Cell,它会存在于MemSt转载 2017-07-03 19:15:40 · 266 阅读 · 0 评论 -
HBase WAL 解析
WAL(Write-Ahead-Log)是HBase的RegionServer在处理数据插入和删除的过程中用来记录操作内容的一种日志。大致过程如下图所示,首先客户端启动一个操作来修改数据,每一个修改都封装到KeyValue对象实例中,并通过RPC调用发送到含有匹配Region的HRegionServer。一旦KeyValue到达,它们就会被发送管理相应行的HRegion实例。数据被写到WAL,然后被原创 2017-07-04 15:05:39 · 10828 阅读 · 1 评论 -
Hbase Split 解析
HBase Split是hbase根据一定的触发条件和一定的分裂策略将HBase的一个region进行分裂成两个子region并对父region进行清除处理的过程。Region是HBase中一个非常核心的组织单元,所有的region组成了整个HBase集群,如下面的HBase的体系结构所示:在HBase中,split其实是进行sharding的一种技术手段,通过HBase的split条件和split原创 2017-07-04 11:02:42 · 3805 阅读 · 0 评论 -
Elasticsearch 结构化查询
请求体查询简单查询语句(lite)是一种有效的命令行adhoc查询。但是,如果你想要善用搜索,你必须使用请求体查询(request body search)API。之所以这么称呼,是因为大多数的参数以JSON格式所容纳而非查询字符串。请求体查询(下文简称查询),并不仅仅用来处理查询,而且还可以高亮返回结果中的片段,并且给出帮助你的用户找寻最好结果的相关数据建议。空查询 我们以最简单的 search原创 2017-02-28 17:35:24 · 642 阅读 · 0 评论