zoukankan      html  css  js  c++  java
  • 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
     
  • 相关阅读:
    JS实现表格隔行换色,鼠标经过换色,单击换色,再单击还原等功能
    URL带有其他参数时,如何使用PHP的CI框架分页类?
    linux SVN web 同步
    php播放器代码
    php 获取IP 根据IP 获取城市信息 判断是否手机登陆
    微信公众平台获取微信用户信息
    appcan 本地真机调试
    对于探索搜索网站路上的一些迷茫
    成为全栈工程师真的好吗?
    ServletContext与ServletConfig
  • 原文地址:https://www.cnblogs.com/mustone/p/5717763.html
Copyright © 2011-2022 走看看