案例一:监听端口数据(输入输出同步)
1、nc
yum install -y nc
yum list telnet*
yum install -y telnet-server.x86_64
yum install -y telnet.x86_64
--------------------测试nc-----------------------------
开启服务端(7777为自定义):nc -lk 7777
再开一个窗口输入开启client端:telnet localhost 7777
2、监听端口数据Netcat-File-Logger
(1)下载telnet或者nc
//下载telnet
yum install -y telnet-server.x86_64
yum install -y telnet.x86_64
//或者下载nc
yum install -y nc
(2)判断要使用的端口7777是否被占用
//被占用时会输出连线状况
[root@hadoopwei ~]# sudo netstat -tunlp | grep 7777
tcp 0 0 0.0.0.0:7777 0.0.0.0:* LISTEN 21133/nc
tcp6 0 0 :::7777 :::* LISTEN 21133/nc
//没被占用时啥都不输出
[root@hadoopwei ~]# sudo netstat -tunlp | grep 7777
(3) 创建Flume Agent配置文件netcat-flume-logger.conf
vi /opt/flume/conf/jobkb09/netcat-flume-logger.conf
内容如下:
//a1:表示agent的名称
a1.sources=r1 //r1:表示a1的输入源
a1.channels=c1 // c1:表示a1的缓冲区
a1.sinks=k1 // k1:表示a1的输出目的地
a1.sources.r1.type=netcat //表示a1的输入源类型为netcat端口类型
a1.sources.r1.bind=localhost //表示a1的监听的主机
a1.sources.r1.port=7777 //表示a1的监听的端口号
a1.channels.c1.type=memory //表示a1的Channel类型为memory
a1.channels.c1.capacity=1000
a1.channels.c1.transactionCapacity=1000
a1.sinks.k1.type=logger //表示a1的输出目的地是控制台logger类型
a1.sources.r1.channels=c1 //表示将r1和c1连接起来,一个Source可一个对应多个Channel
a1.sinks.k1.channel=c1 //表示将k1和c1连接起来,一个Sink只能对应一个Channel,但一个Channel可以对应多个Sink
(4) 先开启flume监听端口
[root@hadoop001 ~]# ./bin/flume-ng agent --name a1 --conf ./conf/ --conf-file ./conf/jobkb09/netcat-flume-logger