Hadoop 技术笔记

Flume与Kafka

Flume 是一个分布式,可靠的,可用的服务,有效的收集,聚合和移动海量的日志数据。它有一个简单而灵活的架构,基于流数据流。具有很好的冗余和容错性,以及可靠性和多故障转移和恢复机制。它使用一个简单的可扩展数据模型,并允许在线分析应用。简单的认为Flume是一个收集日志数据的服务。

Kafka是一个分布式发布-订阅消息系统,用于处理流式海量数据。Kafka 是一个由 LinkedIn 开发的消息队列。能嫁接 HDFS 这样的存储介质,能被 Storm,Spark这类实时或类实时数据模型消费。简单的说,Kafka是一个基于生产者消费者模型的消息系统。

应用

线上数据一般主要是落地文件或者通过socket传输到另外一个系统,这种情况下,很难推动线上应用或服务区修改接口,直接向Kafka里写数据,这时候就可能需要Flume服务来帮忙做传输。业界比较典型的用法是

data on line -> Flume -> Kafka -> Hdfs -> MapReduce (Spark, Storm)

具体应用可参考美团的日志收集系统 http://tech.meituan.com/mt-log-system-arch.html

OpenStack与Hadoop

OpenStack 只要目的是做一整套的云计算基础框架,将物理机虚拟化的云服务平台,包含各种管理组件和API。

Hadoop是云计算中的分布式计算核心:存储与计算。

两者是面向不同层面的,OpenStack是云操作系统,Hadoop是在操作系统上进行存储于计算的。比如现有多台底层的物理机(服务器,PC等),Openstack是将物理机进行虚拟化,一台物理机可以虚拟出多个虚拟机(其实也可以把Openstack的工作的一部分想象为VMware),然后对虚拟机进行各种管理,只是VMware面向的是单台PC,而Openstack面向的是很多狠多台的群集管理,然后在部分的虚拟机中安装操作系统,例如linux,OSX,Windows等等。最后在这个云平台的系统中,再次建立集群化的Hadoop计算框架,用来分布式存储与计算。更加简单的说,OpenStack是面向云,而Hadoop是面向云上的计算。

 
 
参考:
https://www.zhihu.com/question/20475470
https://www.zhihu.com/question/36688175
 
posted @ 2016-07-29 11:39  木石头  阅读(227)  评论(0编辑  收藏  举报