Flume基础

安装

  1. 下载apache-flume-1.11.0-bin.tar.gz。

  2. 解压:

tar -zxvf apache-flume-1.11.0-bin.tar.gz
  1. 重新命名下

mv apache-flume-1.11.0-bin apache-flume-1.11.0
  1. 开启环境配置。将 flume/conf 目录下的 flume-env.sh.template 文件修改为 flume-env.sh。

mv flume-env.sh.template flume-env.sh
  1. 配置 flume-env.sh 文件,将 LInux 系统的 jdk 的路径写到其中。

export JAVA_HOME=/usr/local/java/jdk1.8.0_151

案例

说明

Exec Source 适用于监控一个实时追加的文件,但不能保证数据不丢失;Spooldir Source 能够保证数据不丢失,且能实现断点续传,但延迟较高,不能实时监控;而 Taildir Source 既能实现断点续传,又可以保证数据不丢失,还能够进行实时监控。

监控端口数据

使用 Flume 监听一个端口,收集该端口数据,并打印到控制台。

  1. 在apache-flume-1.11.0目录下新增job目录,并创建agent配置文件

  1. flume-netport-logger.conf配置文件增加内容。

  1. 启动

  1. telnet 发送测试

  1. 结果验证

查看flume.log

监控单个追加文件

  1. job目录下创建flume-file-logger.conf文件

  1. 添加内容

  1. 运行flume

  1. 往test.log文件写入内容

  2. 查看flume日志

监控目录下多个新文件,输出到hdfs

  1. 创建agent配置文件

  1. 配置文件内容

  1. 启动监控文件夹命令

  1. 在/opt/module/flume/upload新增文件

  2. 查看hdfs目录是否有文件生成

需要注意的是:linux和权限和hdfs的权限,当以root用户开启flume监控的时候,由于hdfs写入需要时hdfs用户,因此此时flume会提示权限不足。

解决方法:用hdfs的用户去开启flume监控。

监控目录下的多个追加文件

  1. 创建配置文件 flume-taildir-hdfs.conf

  1. 添加内容

  1. 启动监控

  1. 追加内容。/opt/module/flume/files

  1. 验证文件的生成

Last updated