Flink中的JOIN解析
Join是数据处理领域的的常见场景。许多数据处理系统通过API使得join的使用非常简单。但是,为了能够高效执行,其内部涉及到的算法是非常复杂的。 Flink如何joinFlink使用并行数据库系统中众所周知的技术来有效执行并行join。join必须从其输入数据集中建立联接条件评估为真的所有成对元素 ...
Read more
设计数据密集型应用-分区
对于非常大的数据集,副本往往是不够的,往往需要分区来提高并发和扩展性。 分区和复制分区也需要通过复制来容错。同时,一个节点可能存在多个分区。下图是一个leader-follower模型的场景。每个节点上可能有leader分区,也可能有follower分区。 键值分区当数据存储时,如何决定数据存储在 ...
Read more
设计数据密集型应用-复制
复制可用于以下几个目的: 高可用 断开连接的操作 延迟 扩展 Leaders & Followers复制的定义:每个节点存储一份数据拷贝。 多个副本的情况下:如何保持数据的一致性? 最常用的方法是基于leader的复制。leader负责读写数据,follower只负责读数据。同时lead ...
Read more
暴露的状态:与Flink的状态交互
引言随着有状态流处理逐渐成为复杂时间驱动应用和实时分析系统的应用的越来越多,Flink逐渐成为业务逻辑处理和数据资产的基石。 为了使Flink开发者更好的体验状态处理,Flink社区在提供安全可靠的状态管理模式上作了很多工作。特别是,Flink开发者需要有足够多的手段来获取和修改状态。这些功能体现在 ...
Read more
深入理解Flink网络栈及背压监控
Flink的网络栈是flink-runtime中非常核心的模块。TaskManagers的subtask通过它相互相互连接。与用于协调TaskManager和JobManager之间通信的Akka(RPC)不同,它使用的是底层API,Netty。它对Flink任务的吞吐量和延迟性能至关重要。因此,监 ...
Read more
如何计算Flink集群规模:信封背计算法
2017年柏林Flink Forward大会上Robert Metger的”Keep It Going: How to Reiably and Efficiently Operate Apache Flink”的演讲很受欢迎。Robert的其中一个主题演讲涉及到了如何估算Flink集群规模。Flin ...
Read more
如何搭建高可用Hadoop集群
在这篇文章中,我将讲述HDFS 2.x高可用集群架构和如何搭建一个高可用的HDFS集群。其内容如下: HDFS HA架构 介绍 NameNode高可用 HA架构 HA的实现(JournalNode和共享存储) 如何设置Hadoop集群的HA(Quorum Journal Nodes)? ...
Read more
Akka在Flink中的应用
这篇文章主要介绍了Flink通过Akka实现的分布式通信。它第一次在0.9版本中出现。通过Akka,所有的远程程序调用被封装为异步消息。它主要涉及到JobManager、 TaskManager和JobClient三个组件。将来,它很可能在更多的组件中使用,从而使得它们可以发布和处理异步消息。 Ak ...
Read more
Spring Boot Metrics监控之Prometheus&Grafana
欢迎来到Spring Boot Actuator教程系列的第二部分。在第一部分中,你学习到了spring-boot-actuator模块做了什么,如何配置spring boot应用以及如何与各样的actuator endpoints交互。 在这篇文章中,你将学习sprint boot如何整合外部监控 ...
Read more
Spring Boot Actuator:健康检查、审计、统计和监控
Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查、审计、统计和HTTP追踪等。所有的这些特性可以通过JMX或者HTTP endpoints来获得。 Actuator同时还可以与外部应用监控系统整合,比如 Prometheus, Graphite, ...
Read more