YiBoLiLi 2025-06-12 15:06 采纳率: 0%
浏览 20

flume agent 在启动时,(hdfs)出错

实验2
监控指定目录,当目录有新的日志产生时,把日志保存到HDFS。
6.1编写配置文件

将配置文件放在指定的目录中:比如放在 ~/soft/flume/agent
$cd ~/soft/flume/agent
编写配置文件
$nano agent2.conf
输入以下内容:

# 指定Agent的组件名称
a2.sources = r2
a2.sinks = k2
a2.channels = c2
# 指定 source
a2.sources.r2.type = exec
#实时查看日志文件,查看日志命令--tail -f 日志文件名.log
a2.sources.r2.command = tail -F /home/h/1.log
#/bin/bash -c 后面接 命令#
a2.sources.r2.shell = /bin/bash -c
 
# 指定 sink
a2.sinks.k2.type = hdfs
#注意修改node1主机名或者直接用ip地址
a2.sinks.k2.hdfs.path = hdfs://node1:9820/flume/%Y%m%d/%H%M/%S
#上传文件的前缀
a2.sinks.k2.hdfs.filePrefix = logs- 
#是否按照时间滚动文件夹
a2.sinks.k2.hdfs.round = true
#多少时间单位创建一个新的文件夹
a2.sinks.k2.hdfs.roundValue = 1
#重新定义时间单位
a2.sinks.k2.hdfs.roundUnit = minute
#是否使用本地时间戳
a2.sinks.k2.hdfs.useLocalTimeStamp = true
#积攒多少个 Event 才 flush 到 HDFS 一次
a2.sinks.k2.hdfs.batchSize = 3
#设置文件类型,可支持压缩
a2.sinks.k2.hdfs.fileType = DataStream
#多久生成一个新的文件
a2.sinks.k2.hdfs.rollInterval = 600 
#设置每个文件的滚动大小
a2.sinks.k2.hdfs.rollSize = 134217700
#文件的滚动与 Event 数量无关
a2.sinks.k2.hdfs.rollCount = 0
#最小冗余数
a2.sinks.k2.hdfs.minBlockReplicas = 1
 
# 指定channels
a2.channels.c2.type = memory
a2.channels.c2.capacity = 1000
a2.channels.c2.transactionCapacity = 100
 
# Bind the source and sink to the channel
a2.sources.r2.channels = c2
a2.sinks.k2.channel = c2

6.2启动Flume Agent命令
$ flume-ng agent -c ~/soft/flume/conf -f ~/soft/flume/agent/agent2.conf -name a2 -Dflume.root.logger=INFO,console
6.3测试
另外启动一个终端,发送些数据到1.log
$ echo "something different 44" >> 1.log
$ echo "something different 55" >> 1.log
在hdfs里面查看是否生成了文件
看到了每一分钟会生成一个数据目录,文件名的前缀为logs- 加上毫秒的时间戳(13位).tmp,文件内容为刚才一分钟内给1.log发送的数据。

img

img

  • 写回答

6条回答 默认 最新

  • 阿里嘎多学长 2025-06-12 15:06
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    启动Flume Agent命令出错

    你遇到了启动Flume Agent命令出错的问题。根据你提供的信息,问题可能是关于Flume Agent的配置文件和启动命令。

    根据你的描述,你已经编写了配置文件agent2.conf,并将其放在了~/soft/flume/agent目录下。下一步,你需要启动Flume Agent命令。

    可能的解决方案是:

    1. 检查配置文件是否正确:确保配置文件中的内容正确无误,包括agent名称、配置文件路径、sink和source的配置等。
    2. 检查启动命令:确保启动命令正确无误,例如:
    flume-ng agent -n agent2 -c ~/soft/flume/agent/agent2.conf
    

    其中,agent2是agent名称,~/soft/flume/agent/agent2.conf是配置文件路径。

    1. 检查Flume Agent的日志:查看Flume Agent的日志文件,了解错误的原因和详细信息。

    如果你仍然遇到问题,可以提供更多的错误信息和配置文件内容,我将尽力帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 修改了问题 6月12日
  • 创建了问题 6月12日