Flume_初识
企业架构
数据源 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_初识的更多相关文章
- Android动画效果之初识Property Animation(属性动画)
前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...
- 初识Hadoop
第一部分: 初识Hadoop 一. 谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...
- python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)
一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...
- 初识IOS,Label控件的应用。
初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...
- UI篇(初识君面)
我们的APP要想吸引用户,就要把UI(脸蛋)搞漂亮一点.毕竟好的外貌是增进人际关系的第一步,我们程序员看到一个APP时,第一眼就是看这个软件的功能,不去关心界面是否漂亮,看到好的程序会说"我 ...
- Python导出Excel为Lua/Json/Xml实例教程(一):初识Python
Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...
- 初识SpringMvc
初识SpringMvc springMvc简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 s ...
- 初识redis数据类型
初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...
- Redis初识、设计思想与一些学习资源推荐
一.Redis简介 1.什么是Redis Redis 是一个开源的使用ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的API.从2010 年 ...
随机推荐
- 1、Jsp页面
一.JSP(java server page):是以Java语言为基础的动态网页生成技术. 1.特点: a).以 .jsp 为后缀的文本文件,不需要编译(相对于程序猿来说不需要编译) b).以html ...
- tyvj1008 传球游戏
背景 NOIP2008复赛普及组第三题 描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一 ...
- 一段freemarker高级分页效果的代码
<a onclick="page(1)">首页</a> [#if currpage != 1] [#assign last=currpage - 1] &l ...
- PhpStorm 9.03 集成 开源中国(oschina.net)的Git项目,提交SVN时注意事项
第一步:配置 git.exe File -> Default Settings -> Version Control -> Git -> Path go Git executa ...
- iOS开发——高级篇——iPad开发、iPad开发中的modal
一.iPad简介 1.什么是iPad一款苹果公司于2010年发布的平板电脑定位介于苹果的智能手机iPhone和笔记本电脑产品之间跟iPhone一样,搭载的是iOS操作系统 2.iPhone和iPadi ...
- 周末娱乐一下--------恶搞windows小脚本
下面这是个循环DOS命令,使用了C中的goto语句 echo命令式输出命令 set命令是设置命令 var是变量,初始为0 :continue是一个用于goto的标示. %var%输出变量名,%var% ...
- 一个简单的servlet的demo
javaweb 的应用我们需要参考javaee api 查找servlet接口 javax.servletInterface Servlet All Known Subinterfaces: Ht ...
- robotframework----模板的使用
模板只能放在测试用例里,可以测试大数据量,每一行模板的值,都做为用户关键字的输入参数,发下图: 删除特定证书2 的用户关键字如下:
- UIImage加载本地图片的两种方式
UIImage加载图片方式一般有两种: (1)imagedNamed初始化:默认加载图片成功后会内存中缓存图片,这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象.如果缓存中没有找到相应的图片 ...
- c# ContinueWith 用法
通过任务,可以指定在任务完成之后,应开始运行之后另一个特定任务.例如,一个使用前一个任务的结果的新任务,如果前一个任务失败了,这个任务就应执行一些清理工作.任务处理程序都不带参数或者带一个对象参数,而 ...