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框架,
重构根本的思想是将 JobTracker 两个基本的功能分离成单独的组件,这两个功能是资源管理和任务调度 / 监控。新的资源管理器全局管理全部应用程序计算资源的分配。每个应用的 ApplicationMaster 负责对应的调度和协调。一个应用程序无非是一个单独的传统的 MapReduce 任务或者是一个 DAG( 有向无环图 ) 任务。ResourceManager 和每一台机器的节点管理server可以管理用户在那台机器上的进程并能对计算进行组织。
关于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来维护集群中这三者的信息。从而实现三者的交互。
版权声明:本文博客原创文章。博客,未经同意,不得转载。