实验原理
(1) Netcat 网络监听
- Netcat 是一个功能强大的网络工具,可以用于监听网络端口。
- 在与 Flume 结合的实验中,可以使用 Netcat 监听一个特定的端口,模拟数据源向该端口发送数据。
(2) Flume 工作原理
- Flume 主要由源(Source)、通道(Channel)和接收器(Sink)组成。
- 源负责从各种数据源收集数据,如文件、网络端口、系统日志等。当使用 Netcat 监听端口时,Flume 的源可以配置为从该端口接收数据。
- 通道作为数据的临时存储,起到缓冲的作用。常见的通道类型有内存通道和文件通道。
- 接收器将数据从通道中取出并发送到目标位置,如 HDFS、Kafka、数据库等。
实验过程
(一)JDK环境配置
(1)解压压缩包到指定文件夹
tar-zxvf jdk-8u241-linux-x64.tar.gz-C /home/qiao/
(2)编辑环境配置文件profile
vim /etc/profile
添加以下内容:
export JAVA_HOME=/home/qiao/jdk1.8.0_241
export PATH=$PATH:$JAVA_HOME/bin
退出保存。(wq)
(3)刷新配置文件
source /etc/profile
(4)检查是否安装成功:java–version
(二)Flume安装
(1)解压:tar–zxvf apache-flume-1.9.0-bin.tar.gz-C /home/qiao
(2)进入apache-flume-1.9.0/conf/目录下:mv flume-env.sh.templatelume-env.sh
(3)修改flume-env.sh文件:vim flume-env.sh export JAVA_HOME=/home/qiao/jdk1.8.0_241
(4)环境变量配置 vim /etc/profile
export FLUME_HOME = /home/qiao/flume
export PATH = $PATH:$FLUME_HOME/bin
(5)刷新配置文件 source /etc/profile
(三)Netcat网络监听Flume实例
(1)进入配置文件目录,如 cd /home/qiao/flume/
(2)新建编辑配置文件:vim qiao.conf
(3)使用vim编辑器输入如下配置:
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
# Describe the sink
a1.sinks.k1.type = logger
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
进入flume安装目录: cd /home/qiao/flume/
运行命令:bin/flume-ng agent--conf conf--conf-file
/home/qiao/flume/qiao.conf--name a1
运行结果
新启一个终端,输入:telnet localhost 44444
注意:如果提示telnet 命令找不到,可以使用如下命令安装telnet命令:yum