首页 > 代码库 > Samza/Kafka机理解析

Samza/Kafka机理解析

Apache Samza is a distributed stream processing framework. It uses Apache Kafka for messaging, and Apache Hadoop YARN to provide fault tolerance, processor isolation, security, and resource management.

Yarn是下一代的mapreduce框架,
图 2. 新的 Hadoop MapReduce 框架(Yarn)架构 

重构根本的思想是将 JobTracker 两个主要的功能分离成单独的组件,这两个功能是资源管理和任务调度 / 监控。新的资源管理器全局管理所有应用程序计算资源的分配,每一个应用的 ApplicationMaster 负责相应的调度和协调。一个应用程序无非是一个单独的传统的 MapReduce 任务或者是一个 DAG( 有向无环图 ) 任务。ResourceManager 和每一台机器的节点管理服务器能够管理用户在那台机器上的进程并能对计算进行组织。

关于Fault tolerance: Whenever a machine in the cluster fails, Samza works with YARN to transparently migrate your tasks to another machine.

Kafka的broker producer和consumer都是可分布的,其实现是通过zookeeper来维护集群中这三者的信息,从而实现三者的交互。




Samza/Kafka机理解析