Flume 组件安装配置

发布时间 2023-07-06 18:29:06作者: 雙_木

Flume 组件安装配置

1.1. 实验目的

完成本实验,您应该能够:
掌握下载和解压 Flume
掌握 Flume 组件部署
掌握使用 Flume 发送和接受信息

1.2. 实验要求

了解 Flume 相关知识
熟悉 Flume 功能应用
熟悉 Flume 组件设置

1.3. 实验环境

本实验所需之主要资源环境如表 1-1 所示。
表 1-1 资源环境
服务器集群 单节点,机器最低配置:双核 CPU、8GB 内存、100G 硬盘
运行环境 CentOS.7.3
服务和组件 服务和组件根据实验需求安装

1.4. 实验过程

1.4.1. 实验任务一:下载和解压 Flume

可 以 从 官 网 下 载 Flume 组 件 安 装 包 , 下 载 地 址 如 下 URL 链 接 所 示 https://archive.apache.org/dist/flume/1.6.0/.

image-20230419095913831

使用 root 用户解压 Flume 安装包到“/usr/local/src”路径,并修改解压后文件夹名 为 flume。
[root@master ~]# tar xf /root/apache-flume-1.6.0-bin.tar.gz -C /usr/local/src
[root@master ~]# cd /usr/local/src
[root@master src]# ls
apache-flume-1.6.0-bin  hadoop  hbase  hive  jdk  sqoop  zookeeper
[root@master src]# mv apache-flume-1.6.0-bin/ flume
[root@master src]# chown -R hadoop:hadoop flume/
[root@master src]# ll
total 8
drwxr-xr-x.  7 hadoop hadoop  162 Apr 18 22:02 flume
drwxr-xr-x. 13 hadoop hadoop  196 Mar 16 05:32 hadoop
drwxr-xr-x.  9 hadoop hadoop  183 Apr  6 05:29 hbase
drwxr-xr-x.  9 hadoop hadoop  170 Mar 22 23:29 hive
drwxr-xr-x.  8 hadoop hadoop  255 Sep 14  2017 jdk
drwxr-xr-x.  9 hadoop hadoop 4096 Dec 18  2017 sqoop
drwxr-xr-x. 12 hadoop hadoop 4096 Mar 28 21:34 zookeeper

1.4.2. 实验任务二:Flume 组件部署

1.4.2.1. 步骤一:使用 root 用户设置 Flume 环境变量,并使环境变量对所有用户生效。
[root@master profile.d]# vi flume.sh
[root@master profile.d]# cat flume.sh 
export FLUME_HOME=/usr/local/src/flume   # Flume 安装路径
export PATH=$PATH:$FLUME_HOME/bin     # 添加系统 PATH 环境变量

1.4.2.2. 步骤二:修改 Flume 相应配置文件。
首先,切换到 hadoop 用户,并切换当前工作目录到 Flume 的配置文件夹。
[root@master profile.d]# su - hadoop
Last login: Wed Apr 12 08:10:46 EDT 2023 on pts/0
[hadoop@master ~]$ cd /usr/local/src/flume/conf/
[hadoop@master conf]$ ls
flume-conf.properties.template  flume-env.sh.template
flume-env.ps1.template          log4j.properties
#拷贝 flume-env.sh.template 文件并重命名为 flume-env.sh。
[hadoop@master conf]$ cp flume-env.sh.template flume-env.sh
[hadoop@master conf]$ ls
flume-conf.properties.template  flume-env.sh           log4j.properties
flume-env.ps1.template          flume-env.sh.template

1.4.2.3. 步骤三:修改并配置 flume-env.sh 文件。
删除 JAVA_HOME 变量前的注释,修改为 JDK 的安装路径。
[hadoop@master conf]$ vi flume-env.sh
# 修改 JAVA_HOME 参数值为 jdk 安装路径
export JAVA_HOME=/usr/local/src/jdk

进入 /usr/local/src/hbase/conf/

#修改 hbase-env.sh
注释下面语句
# export HBASE_CLASSPATH=/usr/local/src/hadoop/etc/hadoop/

使用 flume-ng version 命令验证安装是否成功,若能够正常查询 Flume 组件版本为 1.6.0,则表示安装成功。
[hadoop@master conf]$ flume-ng version
Flume 1.6.0
Source code repository: https://git-wip-us.apache.org/repos/asf/flume.git
Revision: 2561a23240a71ba20bf288c7c2cda88f443c2080
Compiled by hshreedharan on Mon May 11 11:15:44 PDT 2015
From source with checksum b29e416802ce9ece3269d34233baf43f

1.4.3. 实验任务三:使用 Flume 发送和接受信息

通过 Flume 将 Web 服务器中数据传输到 HDFS 中。
1.4.3.1. 步骤一:在 Flume 安装目录中创建 simple-hdfs-flume.conf 文件。
[hadoop@master conf]$ cd /usr/local/src/flume
[hadoop@master flume]$ vi wjl.conf
[hadoop@master flume]$ cat wjl.conf 
wjl.sources=r1
wjl.sinks=k1
wjl.channels=c1
wjl.sources.r1.type=spooldir
wjl.sources.r1.spoolDir=/usr/local/src/hadoop/logs/
wjl.sources.r1.fileHeader=true
wjl.sinks.k1.type=hdfs
wjl.sinks.k1.hdfs.path=hdfs://master:9000/tmp/flume
wjl.sinks.k1.hdfs.rollsize=1048760
wjl.sinks.k1.hdfs.rollCount=0
wjl.sinks.k1.hdfs.rollInterval=900
wjl.sinks.k1.hdfs.useLocalTimeStamp=true
wjl.channels.c1.type=file
wjl.channels.c1.capacity=1000
wjl.channels.c1.transactionCapacity=100
wjl.sources.r1.channels = c1
wjl.sinks.k1.channel = c1

#启动hadoop集群
[hadoop@master flume]$ start-all.sh

1.4.3.2. 步骤二:使用 flume-ng agent 命令加载 simple-hdfs-flume.conf 配置信息,启 动 flume 传输数据。

[hadoop@master flume]$ flume-ng agent --conf-file wjl.conf --name wjl
......
23/04/18 22:37:18 INFO file.LogFile: Closing RandomReader /home/hadoop/.flume/file-channel/data/log-2
23/04/18 22:37:18 INFO instrumentation.MonitoredCounterGroup: Component type: CHANNEL, name: c1 stopped
23/04/18 22:37:18 INFO instrumentation.MonitoredCounterGroup: Shutdown Metric for type: CHANNEL, name: c1. channel.start.time == 1681871756779
23/04/18 22:37:18 INFO instrumentation.MonitoredCounterGroup: Shutdown Metric for type: CHANNEL, name: c1. channel.stop.time == 1681871838525
23/04/18 22:37:18 INFO instrumentation.MonitoredCounterGroup: Shutdown Metric for type: CHANNEL, name: c1. channel.capacity == 1000
23/04/18 22:37:18 INFO instrumentation.MonitoredCounterGroup: Shutdown Metric for type: CHANNEL, name: c1. channel.current.size == 0
23/04/18 22:37:18 INFO instrumentation.MonitoredCounterGroup: Shutdown Metric for type: CHANNEL, name: c1. channel.event.put.attempt == 431
23/04/18 22:37:18 INFO instrumentation.MonitoredCounterGroup: Shutdown Metric for type: CHANNEL, name: c1. channel.event.put.success == 431
23/04/18 22:37:18 INFO instrumentation.MonitoredCounterGroup: Shutdown Metric for type: CHANNEL, name: c1. channel.event.take.attempt == 1447
23/04/18 22:37:18 INFO instrumentation.MonitoredCounterGroup: Shutdown Metric for type: CHANNEL, name: c1. channel.event.take.success == 1430
#ctrl+c 退出 flume 传输
1.4.3.3. 步骤三:查看 Flume 传输到 HDFS 的文件,若能查看到 HDFS 上/tmp/flume 目 录有传输的数据文件,则表示数据传输成功。
[hadoop@master flume]$ hdfs dfs -ls /tmp/flume
Found 210 items
-rw-r--r--   2 hadoop supergroup       1672 2023-04-18 22:35 /tmp/flume/FlumeData.1681871756800
-rw-r--r--   2 hadoop supergroup       1633 2023-04-18 22:35 /tmp/flume/FlumeData.1681871756801
-rw-r--r--   2 hadoop supergroup       2562 2023-04-18 22:35 /tmp/flume/FlumeData.1681871756802
-rw-r--r--   2 hadoop supergroup       2163 2023-04-18 22:35 /tmp/flume/FlumeData.1681871756803
-rw-r--r--   2 hadoop supergroup       2163 2023-04-18 22:35 /tmp/flume/FlumeData.1681871756804
-rw-r--r--   2 hadoop supergroup       2163 2023-04-18 22:35 /tmp/flume/FlumeData.1681871756805
-rw-r--r--   2 hadoop supergroup       2163 2023-04-18 22:35 /tmp/flume/FlumeData.1681871756806
-rw-r--r--   2 hadoop supergroup       2163 2023-04-18 22:35 /tmp/flume/FlumeData.1681871756807
-rw-r--r--   2 hadoop supergroup       1353 2023-04-18 22:35 /tmp/flume/FlumeData.1681871756808
-rw-r--r--   2 hadoop supergroup       1446 2023-04-18 22:35 /tmp/flume/FlumeData.1681871756809
-rw-r--r--   2 hadoop supergroup       1307 2023-04-18 22:35 /tmp/flume/FlumeData.1681871756810
-rw-r--r--   2 hadoop supergroup       1353 2023-04-18 22:35 /tmp/flume/FlumeData.1681871756811
-rw-r--r--   2 hadoop supergroup       1370 2023-04-18 22:35 /tmp/flume/FlumeData.1681871756812
-rw-r--r--   2 hadoop supergroup       1370 2023-04-18 22:35 /tmp/flume/FlumeData.1681871756813
-rw-r--r--   2 hadoop supergroup       1269 2023-04-18 22:35 /tmp/flume/FlumeData.1681871756814
-rw-r--r--   2 hadoop supergroup       1370 2023-04-18 22:35 
......