现状分析:多个应用产生不同的日志文件 现用户需要收集日志
如何解决我们的数据从其他的servcer 上移动到hadoop之上
1.shell cp hadoop集群机器上, hadoop fs -put ..../
问题,容错(当hadoop机器挂了,怎么处理) 高延时(cp时间间隔,多久一次) 压缩(文件io传输大)
2.flume
写onfiguration file
从a到b移动的框架 flume
Flume概述
Flume是一种分布式,可靠且可用的服务,用于有效地收集,聚合和移动大量日志数据。
它具有可靠的可靠性机制和许多故障转移和恢复机制,具有强大的容错性。它使用简单的可扩展数据模型,允许在线分析应用程序。
webservcer(源端)=====> flume ====>hdfs目的地
设计目标
可靠性 扩展性 管理型
业界同类产品的对比
flume cloudera/apache java开发 *********
scribe
kafka
fluentd
logstash:elk elasticsearch kibana ********
flume架构及核心组件
source 收件
avro source/thrift source/directory source/exec source/custom source
channel 聚合
memory channel /file channel/kafka channel/自定义
channel是一个通道,类似于一个数据缓存池,提供数据临时存放的地方。
在操作系统层面,将数据写入磁盘,先将数据写到一个内存中,
待内存满了,在flush到磁盘,减少直接与磁盘交换次数,提升性能。
sink 输出
hdfs sink/hive sink/logger sink/avro sink/elasticsearch sink/hbase sink 同步异步/kafka sink/自定义sink
flume安装前置条件
Java运行时环境 - Java 1.8或更高版本
内存 - 源,通道或接收器使用的配置的足够内存
磁盘空间 - 通道或接收器使用的配置的足够磁盘空间
目录权限 - 代理使用的目录的读/写权限
安装flume
下载https://archive.cloudera.com/cdh5/cdh/5
配置环境变量 FLUME_HOME
修改flume_env.sh java_home

被折叠的 条评论
为什么被折叠?



