kudu分析
kudu的设计原理,源码分析,运维技巧
道友,且慢
不愤不启,不悱不发,学习就应该是问题驱动的。
微信: bclz_007
展开
-
kudu之Tablet Copy设计
Master和Tablet Copy与配置更改集成摘要本文阐述了如何在Kudu的Raft实现的上下文中进行Tablet Copy。有关Kudu中Raft配置更改的详细信息,请参阅Raft配置更改设计文档。目标集成Tablet Copy以允许在“开始时间”的日志不再可用于重播时,将“快照”数据和日志复制到tablet副本。Master需要容忍并促进动态一致性配置更改。新的RP...翻译 2019-07-05 10:28:18 · 1116 阅读 · 0 评论 -
kudu之更改Raft配置的设计
出于可操作性和可用性的原因,我们希望能够动态更改tablet server集群。此功能的使用场景包括:更换故障的tablet server以维持tablet数据的副本数。给Kudu群扩容。这可能需要重新分配tablet位置,以平衡tablet server的负载。如果表的一个或多个tablet变成热数据,则增加它们的副本(例如,按照时间划分tablet,使得今天的tablet有更多副本)。...翻译 2019-06-29 15:19:50 · 858 阅读 · 0 评论 -
kudu之一致性设计
注意:本文档已过期。应对其进行更新,以反映与Raft共识相关的设计决策和实现[1]。本文档介绍了Kudu如何使用Viewstamped Replication(VS)算法和一系列用于恢复,重新配置,压缩等的实用算法/技术来处理日志复制和一致性。本文档介绍了与Kudu直接相关的所有概念,任何遗漏信息请参考原始论文[1,3,4]。Kudu中的Quorums是一组协进程,其目的是在给定数据集(例如t...翻译 2019-06-26 11:47:32 · 650 阅读 · 0 评论 -
kudu之扫描优化和分区修剪
背景Kudu具有灵活的分区设计,允许通过哈希区和范围分区的组合在tablet之间分配行。该设计允许操作者控制数据局部性,以优化预期的工作量。每个表都有一个分区模式,它由零个或多个哈希组件和一个范围组件组成。哈希组件具有一个或多个列。每列必须是主键列集的一部分,并且任何列不能同时出现在两个哈希组件中。范围组件可以具有零个或多个列,所有列都必须是主键的一部分。使用分区键将Kudu表中的行映射到t...翻译 2019-06-24 20:53:54 · 1513 阅读 · 0 评论 -
kudu之维护操作
维护操作的计划维护操作(maintenance operations)作为本文阐述的对象,是在kudu正常运行的过程中,运行在后台的进程。为了保证kudu系统操作的流畅,维护管理器(MaintenanceManager)必须要明智的计划维护操作。某种程度上说,这是在当前性能和未来性能之间的权衡。比如说,做compaction操作就是消耗当前的IO,是的之后的插入性能提高。从另外一面说,这有是必须...翻译 2019-06-17 23:15:42 · 1006 阅读 · 0 评论 -
kudu数据分布推荐配置
kudu最多可以支持300个服务器。但是,为了获得最高的稳定性,建议tablet服务器不超过100个。建议每个tablet服务器最多包含2000个tablet(包含副本)建议每个表在每个tablet服务器上最多包含60个tablet(包含副本)建议每个tablet服务器最多在磁盘上存储8TB的数据。服务器上所有磁盘的容量之和可以超过8TB,并且可以和HDFS共享。但是我们建议kudu数据不...原创 2019-06-05 13:42:29 · 659 阅读 · 0 评论 -
kudu之Compaction 策略设计原理
本文档讲解了执行Compaction的策略。有关如何实现Compaction的详细信息,请参阅kudu之Compaction 设计原理。Compaction策略的功能是定义如何选择一组rowset进行压缩。为了减少DiskRowSets的数量,我们需要对它们进行压缩,从而提高tablet的整体性能。良好的Compaction策略需要在一下几个目标之间做权衡:重新安排物理布局,以便更高效地进...翻译 2019-06-04 20:13:20 · 1121 阅读 · 0 评论 -
kudu之Compaction 设计原理
本文将介绍kudu执行rowSet刷新/压缩的机制。注意:本文不讲有关将delta数据刷新到delta文件的任何信息!目标:将存在并行更新的情况下,将两个或多个具有重叠key范围的RowSet合并到一个新的RowSet中。输出RowSet还应该对旧RowSets中删除的任何行进行垃圾收集。让我们从一个简单的Compaction 操作例子开始,压缩一个rowset得到一个新的rowset。这个压...翻译 2019-06-04 15:55:25 · 810 阅读 · 0 评论 -
kudu之CFile设计原理
CFileCFile是一种磁盘上的列式存储格式,用于保存数据和相关的B-Tree索引。在DiskRowSet中,每个列和DeltaFile将映射到单个CFile上。此外,DiskRowSet的bloomfilter将存储在一个CFile中,如果表具有复合主键,则关联的ad-hoc索引将存储在单独的CFile中。尽管名称如此,但CFile并不一定与文件系统中的文件一 一对应。CFiles到文件系...翻译 2019-06-03 18:35:57 · 606 阅读 · 0 评论 -
kudu之tablet设计原理
Tablet是Kudu表的水平分区,就像是BigTable中的tablets和HBase中的regions一样。每个tablet中都有一系列连续的行,这些行不会与任何其他tablet的范围重叠。所有tablet一起构成了整张表。每个tablet进一步细分为多个称为RowSet的行集。每个RowSet由一组行的数据组成。RowSet是不相交的,即不同RowSet的行集不相交,因此任何给定的key最...翻译 2019-06-01 17:07:55 · 1732 阅读 · 0 评论 -
Apache Kudu概述
数据模型kudu集群所存储的表,看起来就像是关系型数据库中的表。这个表可以简单的像一个键值对,也可以复制的像上百个不同类型的属性。像关系表一样,每张表有一个主键,这个主键可以由一个或者多个列组成。比如可以用用户ID作为单个列的主键,或者(host, metric, timestamp)作为一个组合主键。通过主键,表中的行记录可以被高效的读,更新,删除。kudu简单的数据模型使其能够轻易的移植...原创 2019-05-07 20:25:55 · 633 阅读 · 0 评论 -
kudu的基本操作
kudu的web页面http://127.0.0.1:8051原创 2019-04-16 16:21:53 · 1338 阅读 · 0 评论 -
一文读懂 Apache Kudu
前言Apache Kudu是由Cloudera开源的存储引擎,可以同时提供低延迟的随机读写和高效的数据分析能力。Kudu支持水平扩展,使用Raft协议进行一致性保证,并且与Cloudera Impala和Apache Spark等当前流行的大数据查询和分析工具结合紧密。本文将为您介绍Kudu的一些基本概念和架构以及在企业中的应用,使您对Kudu有一个较为全面的了解。一、为什么需要KuduKu...转载 2018-11-26 11:04:19 · 378 阅读 · 0 评论