JustDoDT

JustDoDT-->From Zero To Hero.

浅析HBase数据模型

应用场景 HBase 与 Google 的 BigTable 极为类似,可以说 HBase 就是根据BigTable 设计的,这一点在 BigTable 论文可以找到。 在 BigTable 论文中提到了她的应用场景: BigTable 是一个分布式的结构化数据存储系统,她被设计用来处理海量数据:通常是分布式在数千台普通服务器上的 PB 级别的数据。 Google 的很...

Kafka数据可靠性深度解析

Kafka的体系架构 如上图所示,一个典型的Kafka体系架构包括若干Producer(可以是服务日志,业务数据,页面前端产生的page view等等),若干broker(Kafka支持水平扩展,一般broker数量越多,集群吞吐率越高),若干Consumer(Group),以及一个Zookeeper集群。Kafka通过Zookeeper管理集群配置,选举leader,以及在consu...

MongoDB和Elasticsearch的对比

MongoDB vs Elasticsearch 特性 MongoDB Elasticsearch 备注 主要定位 (文档型)数据库 (文档型)搜索引擎 一个管理数据,一个检索数据 次要定位 无 ...

Grafana的安装及简单使用

概述 Grafana是一个可视化的工具,图形做得很漂亮,有饼图,条形图,指标的粒度很细,支持实时刷新等优点。 下载 wget https://grafanarel.s3.amazonaws.com/builds/grafana-4.1.1-1484211277.linux-x64.tar.gz 解压 tar -zxvf grafana-4.1.1-1484211277.linux...

InfluxDB的安装及语法

概述 InfluxDB是一个时序数据库,常用在实时领域,比如实时读取服务的INFO,ERROR,WARN,ALERT等信息。 注意:本博客采用rpm安装,也可以采用源码编译的方式安装 下载rpm wget https://dl.influxdata.com/influxdb/releases/influxdb-1.2.0.x86_64.rpm 安装 yum install in...

浅析Kafka的failover

概述 这里讨论 kafka 的 failover 的前提是在0.8版本后, kafka 提供了 replica 机制。 对于0.7版本不存在 failover 的说法,因为任意一个 broker dead 都会导致上面的数据不可读,从而导致服务中断。 下面简单的介绍一下 0.8中加入的 replica 机制和相应的组件。 Replica机制 基本思想大同小异,如下图 (Ref.2)...

浅析Kafka的复制机制

概述 Kafka是一种高吞吐量的分布式发布订阅消息系统,有如下的特点: 通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。 高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。 支持通过Kafka服务器和消费机集群来分区消息。 支持流式处理。 复制提供了高可用,即使有些节点出现了失败: ...

基于磁盘的Kafka为什么这么快

概述 Kafka虽然是基于磁盘做的数据存储,但却具有高性能、高吞吐、低延时的特点,其吞吐量动辄几万、几十上百万,这其中的原由值得我们一探究竟。本文属于Kafka知识扫盲系列,让我们一起掌握Kafka各种精巧的设计。 顺序读写 众所周知Kafka是将消息记录持久化到本地磁盘中的,一般人会认为磁盘读写性能差,可能会对Kafka性能如何保证提出质疑。实际上不管是内存还是磁盘,快或慢关键在于寻...

Linux系统中的Page Cache和Buffer Cache

free 命令显示内存 首先,我们来了解下内存的使用情况: Mem:表示物理内存统计 total:表示物理内存总量(total = used + free) used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。 free:未被分配的内存。 shared:共享内存。 buffers:系统分配但未被使用的buffers ...

浅析Spark Streaming反压机制

反压机制原理 Spark Streaming中的反压机制是Spark 1.5.0推出的新特性,可以根据处理效率动态调整摄入速率。 当批处理时间(Batch Processing Time)大于批次间隔(Batch Interval,即BatchDuration)时,说明处理数据的速度小于数据摄入的速度,持续时间过长或数据源头数据暴增,容易造成数据在内存的堆积,最终导致Executor O...