帅气的目录
0、先介绍一个Linux监控文件内容功能
Linux的tail命令可以监控文件内容变化,man tail可查看命令详情
我们开两个窗口,一边使用
tail -F b.txt,另一边往文件b.txt追加内容
可以看到,追加的内容被实时打印出来了
1、Flume简介
- 海量日志 采集、聚合、传输 的系统
- 基于流式架构
- 入门功能:实时监控【单个追加文件、目录下多个新文件、目录下的多个追加文件】
- 官方教学:http://flume.apache.org/FlumeUserGuide.html
- 下载地址:http://archive.apache.org/dist/flume/
官方架构图
| 主要概念 | 说明 | 备注 |
|---|---|---|
| Agent | 是一个JVM进程 | 主要包括【Source、Channel、Sink】 |
| Source | 接收数据 | 例如:监控文件 |
| Channel | 缓冲区 | 可以是:内存 or 磁盘 |
| Sink | 输出数据 | 例如:写到HDFS |
| Event | 数据传输的基本单元 | 组成:Header(k=v)和Body(byte array) |
2、安装
| 本文环境 | 版本 | 说明 |
|---|---|---|
| Java | 1.8 | 预先装好 |
| Hadoop | 3.1.3 | 预先装好 |
| Flume | 1.9 | 待安装,路径:/opt/flume |
- 环境变量
vi /etc/profile.d/custom.sh
# Flume
export FLUME_HOME=/opt/flume
export PATH=$PATH:$FLUME_HOME/bin
source /etc/profile.d/custom.sh
- 解压、改名
tar -zxf apache-flume-1.9.0-bin.tar.gz -C /opt/
cd /opt
mv apache-flume-1.9.0-bin flume
- 解决和Hadoop的jar冲突(Hadoop3.1.3的
guava版本是27)
cd $FLUME_HOME/lib
mv guava-11.0.2.jar guava-11.0.2.jar.bak
- 日志配置(可选)
vi $FLUME_HOME/conf/log4j.properties

3、简单使用
常用语法:flume-ng <command> [options] ...
常用示例:flume-ng agent -n anent名 -c 配置文件目录 -f 配置文件
| 大类 | 名称 | 说明 |
|---|---|---|
| 命令 | agent |
运行一个Flume agent |
| 命令 | help |
显示帮助 |
| 命令 | version |
显示版本 |
| 全局选项 | --conf <conf>或 -c <conf> |
使用<conf>目录里的配置 |
agent选项 |
--name <name>或-n <name> |
agent名(必须项) |
agent选项 |
--conf-file <file>或 -f <file> |
指定配置文件 |
3.1、监控单个追加文件

1 编写Flume代码
cd /root



最低0.47元/天 解锁文章
1765

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



