1.监控数据 官方案例实现
cd ../flume
mkdir job
cd job
vim flume-telnet-logger.conf
# example.conf: A single-node Flume configuration
# Name the components on this agent
#a1=agent1 r1 shuruyuan k1 shuchudi c1 huanchongqu
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
启动
bin/flume-ng agent --conf conf/ --name a1 --conf-file job/flume-telnet-logger.conf -Dflume.root.logger=INFO,console
重新开一个终端
telnet localhost 44444(前提安装好 telnet)
输入.....即可在之前的终端上显示出来
2.通过python定时对access.log输入内容,然后使用flume采集,并写入到hdfs
vim streaming_project.conf
#Name the components on this agent
exec-hdfs-logger.sources = exec-source
exec-hdfs-logger.sinks = logger-sink
exec-hdfs-logger.channels = hdfs-channel
exec-hdfs-logger.sources.exec-source.type = exec
#读取的文件地址
exec-hdfs-logger.sources.exec-source.command = tail -F /home/sparknode/桌面/access.log
exec-hdfs-logger.sources.exec-source.shell = /bin/sh -c
#Describe the sink
exec-hdfs-logger.sinks.logger-sink.type = hdfs
exec-hdfs-logger.sinks.logger-sink.hdfs.path = hdfs:///user/sparknode/flume
exec-hdfs-logger.sinks.logger-sink.hdfs.minBlockReplicas = 1
exec-hdfs-logger.sinks.logger-sink.channel = hdfs-channel
#此处选择fileType可防止出现乱码
exec-hdfs-logger.sinks.logger-sink.hdfs.fileType=DataStream
exec-hdfs-logger.channels.hdfs-channel.type = memory
exec-hdfs-logger.sources.exec-source.channels = hdfs-channel