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
     
  • 相关阅读:
    DecimalFormat
    flex 分页
    flex 分页
    算法学习——st表
    [USACO07DEC]美食的食草动物Gourmet Grazers
    [ZJOI2005]沼泽鳄鱼 矩阵乘法
    [SCOI2010]序列操作 线段树
    [LNOI2014]LCA
    [AHOI2013]作业 & Gty的二逼妹子序列 莫队
    Linux相关——关于文件调用
  • 原文地址:https://www.cnblogs.com/mustone/p/5717763.html
Copyright © 2011-2022 走看看