监控端口数据官方案例

实验目的:使用 Flume 监听一个端口,收集该端口数据,并打印到控制台。 实验分析在这里插入图片描述 实验步骤: 1.切换到hadoop根目录下 命令:cd /hadoop/ 2.安装 netcat 工具 1)先查看是否装有nc工具 命令:nc –helpnetcat –help 在这里插入图片描述 图示为未装。 安装nc工具 命令:sudo yum install -y nc 在这里插入图片描述 2)给app-12、app-13进行安装 命令:ssh hadoop@app-12 "cd /hadoop && sudo yum install -y nc" 在这里插入图片描述 命令:ssh hadoop@app-13 "cd /hadoop && sudo yum install -y nc" 在这里插入图片描述 注:nc可开启一个客户端,也可开启一个服务端,是实现客户端与服务端之间通信的一个工具。 3)开启服务端的命令:nc -lk 4444 在这里插入图片描述被阻塞在这里了。 注:因为服务端没有写地址,默认localhost

4)登录app-12,切换到hadoop用户,密码Yhf_1018 命令:su – hadoop 注:输入的密码是不显示出来的。 在这里插入图片描述 5)客户端连接服务端 命令:nc app-11 44444 在这里插入图片描述 同样被阻塞。 6)向app-11 发送hello 在这里插入图片描述 7)打开app-11,可以发现已接收到 在这里插入图片描述 8)在app-11,中输入welcome 在这里插入图片描述 9)打开app-12,可以发现已接收到 在这里插入图片描述 10)打开app-11,Ctrl+c 结束app-11(服务端) 在这里插入图片描述 再打开app-12,Ctrl+c 结束app-12(客户端),再尝试连接app-11(服务端),发现无法连接。 命令:nc app-11 44444 注:服务端结束以后,客户端不再存在,服务端可以单独存在,没有客户端连,但是服务可以照有,反之不行 在这里插入图片描述 3.创建 Flume Agent 配置文件 flume-netcat-logger.conf(名字自定义,后面启动时会用到) 1)在 flume 目录下创建 job 文件夹并进入 job 文件夹。 命令:cd apache-flume-1.9.0-bin mkdir job cd job/ 在这里插入图片描述 2)在 job 文件夹下创建 Flume Agent 配置文件 flume-netcat-logger.conf 命令: vi flume-netcat-logger.conf 在这里插入图片描述 在 flume-netcat-logger.conf 文件中添加如下内容。 添加内容如下:

# 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

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 点击Ecs退出编辑,:wq保存退出 4.返回上一级目录,启动 命令:cd .. 方法一:

flume-ng agent --conf conf/ --name a1 --conf-file job/flume-netcat-logger.conf -Dflume.root.logger=INFO,console

方法二:

flume-ng agent -c conf/ -n a1 -f job/flume-netcat-logger.conf -Dflume.root.logger=INFO,console 在这里插入图片描述 bin/flume-ng:bin目录下可执行文件 后面跟着核心的参数,也就是要启动的agent 参数说明: --conf conf/ :表示配置文件存储在conf/目录 --name a1 :表示给agent起名为a1 --conf-file job/flume-telnet.conf :flume本次启动读取的配置文件是在job文件夹下的flume-telnet.conf文件。 -Dflume.root.logger==INFO,console :-D表示flume运行时动态修改flume.root.logger参数属性值,并将控制台日志打印级别设置为INFO级别。日志级别包括:log、info、warn、error。 运行结果:监控到的是127.0.0.1:44444 在这里插入图片描述

使用 netcat 工具向本机的 44444 端口发送内容

5.在app-11中重新打开一个终端,使用netcat工具向本机的44444端口发送内容,此时flume充当服务端。 命令:nc localhost 44444 在这里插入图片描述 打印hello 在这里插入图片描述

6.打开之前的终端(Flume 监听页面)观察接收数据情况 在这里插入图片描述 7.Ctrl+c 关闭监听 在这里插入图片描述 详细学习内容可观看Spark快速大数据处理扫一扫~~~或者引擎搜索Spark余海峰 在这里插入图片描述