一、业务现状分析
如何解决我们的数据从其他的server上移动到Hadoop之上?
shell cp hadoop集群到机器上 hadoop fs -put ---
二、Flume概述 webserver(源端)➡️ Flume ➡️ hdfs
Flume是由Cloudera提供的一个分布式、高可靠、高可用的服务,用于分布式的海量日志的高效收集、集合、移动系统
Flume设计目标:
可靠性
扩张性
管理性
Flume同类产品的对比:(红色标注的是目前经常使用的)
Flume:Cloudera / Apache Java
Scribe: Facebook C / C++ 不在维护
Chukwa:Yahoo / Apache Java 不在维护
Fluentd:Ruby
Logstash:ELK(ElasticSearch,Kibana)
三、Flume架构及核心组件
Source 收集
Channel 聚集
Sink 输出
四、Flume环境部署
首先安装jdk ,本项目中安装的jdk版本是1.8.0
安装flume
检测安装成功与否:flume-ng version
五、Flume实战
实战一:
需求:从指定网络端口采集数据输出到控制台
在flume的conf目录下创建一个example.conf文件,然后将以下文件内容写入
启动命令:
启动agent
flume-ng agent \
--name a1 \
--conf $FLUME_HOME/conf/example.conf \
-Dflume.root.logger=INFO,console
使用telnet进行测试:telnet hadoop000 666666
====================================================================
实战二:
需求:监控一个文件实时采集新增到数据输出到控制台
需要在home/hadoop/data/ 下创建一个日志事例:data.log
启动命令:
六、Flume生产实战
需求:将A服务器上的日志实时采集到B服务器上
具体实战请就看下一篇文章