FLUME#
1 下载与安装 Flume#
(一般将Flume安装在日志服务器下,该文档演示安装在namenode服务器下)
Flume下载地址 Download — Apache Flume
下载Apache Flume binary (tar.gz) 的 未加密版本即可
下载后上传至/opt目录
1
2
3
4
| # 解压
tar -zxvf /opt/apache-flume-1.11.0-bin.tar.gz -C /usr/local/software/
# 重命名
mv /usr/local/software/apache-flume-1.11.0-bin/ /usr/local/software/flume
|
配置环境变量
将下面内容添加到/etc/profile.d/my_env.sh
1
2
3
4
| vim /etc/profile.d/my_env.sh
export FLUME_HOME=/usr/local/software/flume
export PATH=$PATH:$FLUME_HOME/bin
|
使用 source /etc/profile.d/my_env.sh
命令激活
2 配置 Flume#
配置文件目录 /usr/local/software/flume/conf/
复制模板文件 -> flume-env.sh
1
2
| cd /usr/local/software/flume/conf/
cp flume-env.sh.template flume-env.sh
|
修改配置文件中的 JAVA_HOME 值
1
2
| # 添加
export JAVA_HOME=/usr/local/software/jdk
|
3 使用 Flume 进行流式数据采集#
Flume的使用思路:使用Flume 从 数据目录 采集 源数据,经过通道处理,再通过输出通道与HDFS连接
执行流程:
①收集数据集放入/opt/logs目录
②编写Flume配置文件 flume-dir-hdfs.conf (本例子存储到/usr/local/software/flumeconfig)
flume-dir-hdfs.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| # 配置agent的名字与三大组件
# 默认agent的名字是a1
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# 配置source组件的内容
# 监听目录的方式: spooldir
a1.sources.r1.type = spooldir
a1.sources.r1.spoolDir = /opt/logs
a1.sources.r1.fileHeader = false
# 配置sink组件的内容
a1.sinks.k1.type = hdfs
a1.sinks.k1.hdfs.path = hdfs://hadoopCluster/jobdata/%Y%m%d/%H
a1.sinks.k1.hdfs.filePrefix = job
a1.sinks.k1.hdfs.useLocalTimeStamp = true
a1.sinks.k1.hdfs.fileType = DataStream
# 配置channel组件的内容
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# 将三个组件整合起来
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
|
执行flume文件#
1
| flume-ng agent -c conf -f /usr/local/software/flumeconfig/flume-dir-hdfs.conf -n a1
|