首先,准备好一台虚拟机,在/opt目录下创建software目录,用于存放我们要导入的jar包,创建module目录用于存放我们解压后的压缩包
jdk1.8链接:https://pan.baidu.com/s/183nu93IH6rYHnIR3F6-_Sw
提取码:xyjj
flume链接:https://pan.baidu.com/s/1YL_kpVqyuG3nYUYLhhKZfg
提取码:xyjj
sudo mkdir software module
然后通过Xftp把我们需要的jar包导入到/opt/software目录下
然后解压:
tar -zxvf jdk-8u212-linux-x64.tar.gz apache-flume-1.7.0-bin.tar.gz -C /opt/module/
配置环境变量:可以在/etc/profile.d 目录下面创建一个my_env.sh文件,在里面配置环境变量
cd /etc/profile.d/
vim my_env.sh
把这段复制到文件里面
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212/
export PATH=$PATH:$JAVA_HOME/bin#FLUME_HOME
export FLUME_HOME=/opt/module/apache-flume-1.7.0-bin
export PATH=$PATH:$FLUME_HOME/bin
然后source profile
source /etc/profile
之后查看jdk和flume是否生效
完成前面的步骤后开始安装netcat
yum install -y nc
然后 进入 Flume 安装目录,创建目录 jobs。在 jobs 目录下创建 Flume Agent 配置文件 netcat-flume-logger.conf:
cd /opt/module/apache-flume-1.7.0-bin/
这里根据自己安装flume的路径来
进入flume目录后,创建jobs目录
mkdir jobs
进入jobs目录,
cd jobs
创建文件 netcat-flume-logger.conf(文件名可以不一样,但是后缀最好是.conf)
vim netcat-flume-logger.conf
把下面的内容复制到文件里面:
# example.conf: A single-node Flume configuration
# Name the components on this agent
# fujunyan:表示 agent 的名称,可以换成自己的名字缩写
# r1:表示 a1 的 Source 的名称
# k1:表示 a1 的 Sink 的名称
# c1:表示 a1 的 Channel 的名称
fujunyan.sources = r1
fujunyan.sinks = k1
fujunyan.channels = c1
# Describe/configure the source
# 表示 a1 的输入源类型为 netcat 端口类型
fujunyan.sources.r1.type = netcat
# 表示 a1 的监听的主机
fujunyan.sources.r1.bind = localhost
# 表示 a1 的监听的端口号
fujunyan.sources.r1.port = 44444
# Describe the sink
# 表示 a1 的输出目的地是控制台 logger 类型
fujunyan.sinks.k1.type = logger
# Use a channel which buffers events in memory
# 表示 a1 的 channel 类型是 memory 内存型
fujunyan.channels.c1.type = memory
# 表示 a1 的 channel 总容量 1000 个
event fujunyan.channels.c1.capacity = 1000
# 表示 a1 的 channel 传输时收集到了 100 条 event 以后再去提交事务 a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
# 表示将 r1 和 c1 连接起来
fujunyan.sources.r1.channels = c1
# 表示将 k1 和 c1 连接起来
fujunyan.sinks.k1.channel = c1
开启Flume agent监听,输入命令:
flume-ng agent -c conf/ -n fujunyan -f jobs/netcat-flume-logger.conf -Dflume.root.logger=INFO,console
参数说明: --conf/-c:表示配置文件存储在 conf/目录
--name/-n:表示给 agent 起名为 fujunyan
--conf-file/-f:flume 本次启动读取的配置文件是在 job 文件夹下的 netcat-flume- logger.conf 文件。注意这里执行时要看自己的路径在哪里
-Dflume.root.logger=INFO,console :-D 表示 flume 运行时动态修改 flume.root.logger 参数属性 值,并将控制台日志打印级别设置为 INFO 级别。日志级别包括:log、info、 warn、error
执行成功后重新开启另外一个端口输入:
nc localhost 44444
切回原来的终端,就能看到监听内容
谢谢观看!