大数据系统组件原理笔记
文章平均质量分 63
RangeYan2012
欢迎大家与我交流技术问题!我的QQ:332478640
展开
-
kafka leader选举机制原理
kafka在所有broker中选出一个controller,所有Partition的Leader选举都由controller决定。controller会将Leader的改变直接通过RPC的方式(比Zookeeper Queue的方式更高效)通知需为此作出响应的Broker。同时controller也负责增删Topic以及Replica的重新分配。当有broker fari over contr原创 2017-02-06 17:22:50 · 54475 阅读 · 4 评论 -
Apache Kylin Cube构建算法
逐层算法在介绍快速Cube算法之前,我们先简单回顾一下现有的算法,也称之为“逐层算法”(By Layer Cubing)。我们知道,一个N维的完全Cube,是由:1个N维子立方体(Cuboid), N个(N-1)维Cuboid, N*(N-1)/2个(N-2)维Cuboid …, N个1维Cuboid, 1个0维Cuboid,总共2^N个子立方体组成的;在“逐层算法”中,按维度数逐原创 2017-02-13 17:11:37 · 2748 阅读 · 0 评论 -
Apache kylin 原理和架构
Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。1.基本原理kylin的核心思想是预计算,理论基础是:以空间换时间。即多多维分析可能用到的度量进行预计算,将计算好的结果保存成Cube并存储到hbase中,供查询时直接访问。原创 2017-02-13 12:27:42 · 11458 阅读 · 0 评论 -
HDFS fsimage和edits合并实现原理
1. Hadoop 1.x 版本 fsimage和edits合并实现原理 在NameNode运行期间,HDFS的所有更新操作都是直接写到edits中,久而久之edits文件将会变得很大;虽然这对NameNode运行时候是没有什么影响的,但是我们知道当NameNode重启的时候,NameNode先将fsimage里面的所有内容映像到内存中,然后再一条一条地执行edits中的记录,当edits文件原创 2017-01-22 17:25:22 · 4268 阅读 · 0 评论 -
HDFS 2.0 HA实现原理
在Hadoop2.0.0之前,NameNode(NN)在HDFS集群中存在单点故障(single point of failure),每一个集群中存在一个NameNode,如果NN所在的机器出现了故障,那么将导致整个集群无法利用,直到NN重启或者在另一台主机上启动NN守护线程。 主要在两方面影响了HDFS的可用性: (1)、在不可预测的情况下,如果NN所在的机器崩溃了,整个集群将无原创 2017-01-22 17:20:44 · 686 阅读 · 0 评论 -
HDFS 内部机制
1. 写流程2.读流程3.副本放置策略4.可靠性策略5.HDFS数据块6.HDFS 不适合小文件存储原创 2017-01-22 17:14:28 · 626 阅读 · 0 评论 -
HDFS 优缺点
HDFS优点:高容错性:数据自动保存多个副本,副本丢失后,自动恢复适合批处理:移动计算而飞数据。数据位置暴露给计算框架适合大数据处理:GB,TB,设置PB级数据。百万规模以上文件数量。10K+节点规模。流式文件访问:一次性写入,多次读取。保证数据一致性。可构建在廉价机器上:通过多副本提高可靠性。提供容错和恢复机制。HDFS缺点:不适合低延迟数据访问场景:比如毫秒原创 2017-01-22 16:59:03 · 7664 阅读 · 0 评论 -
HDFS 架构
2.X 版本的HDFS 架构图如下:Active Namenode:主Master(只有一个)管理HDFS的命名空间(name space)管理数据块映射信息配置副本策略处理客户端读写请求Standby NameNode:NameNode的热备定期合并fsimage和fsedits,推送给NameNode当Active NameNode出现故原创 2017-01-22 16:46:43 · 649 阅读 · 0 评论 -
Yarn 架构
yarn 基本架构Resource ManagerApplication masternode managercontainer history servertimeline server参考资料:1. http://blog.csdn.net/cymvp/article原创 2017-01-22 11:48:08 · 691 阅读 · 0 评论 -
Yarn 资源调度器
Yarn的资源调度目前支持内存和CPU两种资源。Yarn支持三种调度方式:FIFO、FAIR和DRF分别是指先来先服务、公平调度和主资源公平调度FIFO:先按照优先级高低调度,如果优先级相同,则按照提交时间先后顺序调度,如果提交时间相同,则按照(队列或者应用程序)名称大小(字符串比较)调度;不支持有子队列的情况。FAIR:按照内存资源使用量比率调度,即按照used_memo原创 2017-01-20 19:20:06 · 3781 阅读 · 0 评论 -
Apache kafka 中zookeeper 的应用
正如ZooKeeper用于分布式系统的协调和促进,Kafka使用ZooKeeper也是基于相同的原因。ZooKeeper用于管理、协调Kafka代理。每个Kafka代理都通过ZooKeeper协调其它Kafka代理。当Kafka系统中新增了代理或者某个代理故障失效时,ZooKeeper服务将通知生产者和消费者。生产者和消费者据此开始与其它代理协调工作。Kafka整体系统架构如图所示。下原创 2017-01-19 15:09:41 · 912 阅读 · 0 评论 -
Hive查询优化
Hive查询优化分成三个部分1. 合理建表2.通用参数优化\3.Join优化原创 2017-02-09 14:21:01 · 835 阅读 · 0 评论 -
Hive 模式设计和语言规范
1. 模式设计1.1 数据模型-数据的组织方式Database: 和关系型数据库的Database一样Table: Hive将数据表分为内部表和外部表。内部表在Hive中创建的普通表都可称作“内部表”。因为Hive可以(或多或少)控制其数据的生命周期,内部表对数据拥有所有权。如我们所见,通常Hive会将内部表的数据储存在由hive.m原创 2017-02-09 12:38:54 · 2423 阅读 · 0 评论 -
Hive Driver 原理
Hive 的Driver 是hive的一个组件,负责将hive sql 解析和优化HQL语句,将其转换成一个Hive Job(可以是MapReduce,也可以是Spark等其他任务)并提交给Hadoop集群。SQL转化为Hive Job的过程SQL转化为MapReduce任务的,整个编译过程分为六个阶段:Antlr定义SQL原创 2017-02-09 11:23:40 · 4502 阅读 · 0 评论 -
Hive架构
Hive架构在Hadoop生态圈中已经是老生常谈。尽管如此,很多资料并没有将Hive模块之间的关系描述的十分清楚,本人也在管理Hive数据仓库时绕了不少弯路。所以我们仍要再谈Hive架构,希望将积累的经验总结出一套完整而又易懂的Hive架构,借此为行业新人开路,为大数据运维排忧。Hive是典型C/S模式。Client端有JDBC/ODBC Client和Thrift Client两类。原创 2017-02-09 11:00:38 · 7086 阅读 · 0 评论 -
Apache kafka 设计与实现
一、 设计 kafka设计目标是实现一个高吞吐量的,低延迟的,实时数据处理的统一平台。在设计的时候从以下几个方面做了优化。1. 数据持久化Kafka直接将数据写到了文件系统的日志中,依赖操作系统的page cache 实现read-ahead 和 write-behind。这样做的好处是读和写都是 O(1) 的,并且读操作不会阻塞写操作和其他操作2. 消息传输的原创 2017-01-18 12:06:01 · 891 阅读 · 0 评论 -
Apache kafka 架构与功能
Apache Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等1. 架构与功能原创 2017-01-17 10:57:51 · 975 阅读 · 0 评论 -
Apache Kylin Buid Cube详细流程
Build Cube流程主要分为四个阶段:根据用户的cube信息计算出多个cuboid文件根据cuboid文件生成htable更新cube信息回收临时文件1.流程一:作业整体描述把构建Cube的来源表总行数写到指定的HDFS文件中2.流程二:生成中间临时数据这一步的操作是根据Cube设计中的定义生成原始数据,这里会新创建一个Hive外部表,然后再根据Cube中定义的原创 2017-02-13 18:18:57 · 1395 阅读 · 0 评论