企业架构

数据源   webserver RDBMS
数据的采集 shell、flume、sqoop job
监控和调度 hue、oozie
数据清洗及分析 mapreduce、hive
数据保存 sqoop

概念: 三大功能 collecting(收集),aggregating(聚合),moving(传输)

Flume是一个分布式的,可靠的,可用的,健壮且高容错性的框架,非常有效率的对大数据量
的日志数据进行收集,聚集,传输信息的服务,但老版本仅仅运行在Linux环境中

特点: on streaming data flows(基于流式的数据)

数据流: job 不断获取数据
任务流:job1 --> job2 --> job3&job4 --> job5
在线实时收集应用分析,简单表现为:写个source、channel、sink,之后一条命令
就能操作成功了,实际情况下flume、kafka实时进行数据收集
spark、storm实时去处理,impala实时去查询

Flume-ng只有一个角色节点: agent的角色,agent有source、channel、sink组成

其中
  source 用于采集数据,source是产生数据流的地方,同时Source会将产生的数据流传输到channel
  channel 连接source和sink,有点像队列
  sink 用于从channel收集数据,将数据写到目标源,可以是下一个source也可以是HDFS或是HBASE
  Events(封装数据)
    Event是Flume数据传输的基本单元
    Flume以事件的形式将数据从源头传送到最终的目的地
    Event由可选的header和body构成(类似http协议)
    载有的数据对flume是不透明的
    Header是容纳了key-value字符串对的无序组合,key在集合内是唯一的
    Header可以在上下文路由中使用扩展

Flume安装部署

下载对应的cdh版本
解压后进行配置文件
  -> env:修改java_home
  -> 连接Hadoop
    --> 启动flume时会先加载全局HADOOP_HOME变量,再去读取core/hdfs-site.xml
    --> 将hdfs的配置文件放到conf目录
--> 在agent配置文件中写明hdfs的绝对路径
--> 既然在HDFS上读写数据,需要hdfs的API,即需要导入Hadoop对应部分jar包
commons-configuration-1.6.jar
       hadoop-auth-2.5.0-cdh5.3.6.jar
       hadoop-common-2.5.0-cdh5.3.6.jar
       hadoop-hdfs-2.5.0-cdh5.3.6.jar
  -> 命令格式
    bin/flume-ng agent -c conf/ -n agentname -f agent_file
    -c flume配置文件目录
    -f properties文件目录

企业中常用的类型

-> source
  --> exec
  --> spoolingdir
  --> kafaka source
  --> syslog source
  --> http source
-> channel
  --> memory channel (不安全)
  --> file channel
  --> kafaka channel
-> sink
  --> hdfs sink
  --> hbase sink
  --> hive sink

Flume_初识的更多相关文章

  1. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  2. 初识Hadoop

    第一部分:              初识Hadoop 一.             谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...

  3. python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

  4. 初识IOS,Label控件的应用。

    初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...

  5. UI篇(初识君面)

    我们的APP要想吸引用户,就要把UI(脸蛋)搞漂亮一点.毕竟好的外貌是增进人际关系的第一步,我们程序员看到一个APP时,第一眼就是看这个软件的功能,不去关心界面是否漂亮,看到好的程序会说"我 ...

  6. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  7. 初识SpringMvc

    初识SpringMvc springMvc简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 s ...

  8. 初识redis数据类型

    初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...

  9. Redis初识、设计思想与一些学习资源推荐

    一.Redis简介 1.什么是Redis Redis 是一个开源的使用ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的API.从2010 年 ...

随机推荐

  1. 大熊君大话NodeJS之------(Url,QueryString,Path)模块

    一,开篇分析 这篇文章把这三个模块拿来一起说,原因是它们各自的篇幅都不是很长,其次是它们之间存在着依赖关系,所以依次介绍并且实例分析.废话不多说了,请看下面文档: (1),"Url模块&qu ...

  2. CSS 和 JS 动画哪个更快

    基于Javascript的动画暗中同CSS过渡效果一样,甚至更加快,这怎么可能呢?而Adobe和Google持续发布的富媒体移动网站的性能可媲美本地应用,这又怎么可能呢? 本文逐一遍览了基于Javas ...

  3. Servlet监听器

    一.servlet的8个监听器 场景 监听者接口 事件类型 你想知道一个web应用上下文中是否增加.删除或替换了一个属性 javax.servlet.ServletContextAttributeLi ...

  4. [Recommendation System] 推荐系统之协同过滤(CF)算法详解和实现

    1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...

  5. C# 发送电子邮件

    网上找到的发送邮件的类,改了一点点,在此谢谢原作者的奉献. 1.源码: public class CSendMail { private MailMessage mailMessage; privat ...

  6. Mysql数据库的使用总结之Innodb简介(一)

       最近在对开发的软件的服务器部分制作安装包,但服务器部分需要有mysql数据库的支持.因此,采用免安装版的mysql策略:将mysql数据库需要的文件在安装程序中进行设置和打包即可.但也遇到了很多 ...

  7. 【Docker】Docker主机为什么ip nets 查不到网络空间

    创建Docker容器后本来应该有新的命名空间(如果有独立网络的话),那么可以通过 ip netns 命令查看到命名空间,但是实际上却看不到. 查过资料才发现,ip netns 只能查看到 /var/r ...

  8. %u编码

    Escape/Unescape加密解码/编码解码,又叫%u编码,从以往经验看编码字符串出现有"u",它是unicode编码,那么Escape编码采用是那一种unicode实现形式呢 ...

  9. Sublime Text永久设置使用4个空格缩进

    Sublime Text是一款轻量高效的代码编辑器,官网地址是:http://www.sublimetext.com/,默认情况下sublime是使用tab进行缩进,如果手动敲空格是比较麻烦的,并且很 ...

  10. 使用原生ajax处理json组成的数组

    和前一篇文章一样,直接上代码了,只是做个记录. 数据的提供页面,tigong.php <?php header("content-type:text/html;charset=utf- ...