1 在 flume 安装目录下创建 job 文件夹并进入 job 文件夹
mkdir job
cd ./job
vim flume-netcat-logger.conf
在 flume-netcat-logger.conf 文件中添加如下内容
粘贴的时候,代码中的注释有影响,自己调一下
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# 配置输入sources
a1.sources.r1.type = netcat # 输入源类型为netcat端口类型
a1.sources.r1.bind = localhost # 监听的主机
a1.sources.r1.port = 44444 # 监听的端口
# 配置输出sinks为控制台
a1.sinks.k1.type = logger
# 配置channel
a1.channels.c1.type = memory # 表示a1的channel类型是memory内存型
a1.channels.c1.capacity = 1000 # 表示a1的channel总容量1000个event
a1.channels.c1.transactionCapacity = 100 # 表示a1的channel传输时收集到了100条event以后再去提交事务
# 绑定
a1.sources.r1.channels = c1 # 将r1和c1连接起来
a1.sinks.k1.channel = c1 # 将k1和c1连接起来
2 运行Agent
bin/flume-ng agent -c conf/ -n a1 -f job/flume-netcat-logger.conf -Dflume.root.logger=INFO,console
参数说明:
--conf/-c:表示配置文件存储在 conf/目录
--name/-n:表示给 agent 起名为 a1
--conf-file/-f:读取的配置文件是在 job 文件夹下的 flume-telnet.conf。
-Dflume.root.logger=INFO,console :-D 表示 flume 运行时动态修改 flume.root.logger参数属性值,并将控制台日志打印级别设置为 INFO 级别。
日志级别包括:log、info、warn、error。
3 使用 netcat 工具向本机的 44444 端口发送内容
nc localhost 44444
输入消息如hello
4 在 Flume 监听页面观察接收数据情况
思考:nc hadoop102 44444,flume 能否接收到?
答案是不行
总之要将 nc 这里的名称 要和 flume-netcat-logger.conf中监听的主机要一样