当前位置: 首页 > news >正文

个人淘客网站备案抖音信息流广告代理商

个人淘客网站备案,抖音信息流广告代理商,网站备案需要提供什么资料,网址升级访问flume实战:从零配置到启动运行的完整指南 掌握 Flume 的核心组件后,实际配置和运行才是关键。本文将通过一个简单案例,带你从零开始配置 Flume Agent,理解配置文件的核心逻辑,并通过命令启动采集任务,快速…

flume实战:从零配置到启动运行的完整指南

掌握 Flume 的核心组件后,实际配置和运行才是关键。本文将通过一个简单案例,带你从零开始配置 Flume Agent,理解配置文件的核心逻辑,并通过命令启动采集任务,快速上手 Flume 的使用流程。

flume命令参数解析

在启动 Flume 前,需先了解核心命令参数,确保启动命令正确无误。Flume 启动命令的基本格式为:

flume-ng <角色> [参数]  
角色 / 参数说明示例
agent核心角色,启动一个 Flume Agent(最常用)flume-ng agent ...
avro-client辅助角色,作为 Avro 客户端发送数据到 Agent(用于测试或数据注入)flume-ng avro-client ...
-c/--conf指定配置文件目录(含 flume-env.shlog4j.properties-c /usr/local/flume/conf
-f/--config-file指定 Agent 具体配置文件(定义 Source、Channel、Sink 的关联关系)-f conf/my-flume.conf
-n/--name指定 Agent 的名称(必须与配置文件中定义的 Agent 名称一致)--name myagent
-D传递 Java 系统参数(如堆内存配置)-Dflume.root.logger=INFO,console

实战:配置一个简单的 Flume Agent

我们将配置一个序列生成器 → 内存通道 → 日志输出的简单流程,实现数据从 Source 生成、经 Channel 缓存、最终由 Sink 打印到日志的完整链路。

配置

在 Flume 安装目录的 conf 文件夹下(或自定义目录),创建配置文件 flume-simple.conf,内容如下:

#1. 定义 Agent 名称及组件列表  
# Agent 名称为 "agent"(需与启动命令的 --name 参数一致)  
#定义 Source 名称为 seqGenSrc 
agent.sources = seqGenSrc
#定义 Channel 名称为 memoryChannel
agent.channels = memoryChannel
#定义 Sink 名称为 loggerSink 
agent.sinks = loggerSink# 2. 配置 Source(事件源)  
# 类型为 seq:简单序列生成器,从 0 开始递增生成事件 
# 事件源类型 常见的有avro(监听Avro端口并从外部Avro客户端流接收事件)、thrift(监听Thrift端口并从外部Thrift客户端流接收事件)、exec(Exec源在启动时运行给定的Unix命令,并期望该进程在标准输出上连续产生数据)、spooldir(此源允许您通过将要提取的文件放入磁盘上的“spooling”目录中来提取数据。此源将监视新文件的指定目录,并在新文件显示时解析新文件中的事件)、org.apache.flume.source.kafka.KafkaSource(从Kafka主题读取消息的Apache Kafka消费者)、seq(简单的序列发生器,不断的产生事件,值是从0开始每次递增1)
agent.sources.seqGenSrc.type = seq# 3. 配置 Sink(接收器)  
# 类型为 logger:将事件输出到 Flume 日志(控制台或日志文件)
# 接收器的类型 常见的有hdfs(将事件写入Hadoop分布式文件系统(HDFS))、hive(将包含定界文本或JSON数据的事件直接传输到Hive表或分区)、hbase、avro、org.apache.flume.sink.kafka.KafkaSink(将数据发布到Kafka主题)
agent.sinks.loggerSink.type = logger# 4. 配置 Channel(通道)  
# 类型为 memory:使用内存作为缓冲区 
# 通道类型  常见的有 file(将数据存储到磁盘上)、memory(存储在具有可配置最大大小的内存队列中)、jdbc(存放于一个支持JDBC连接的数据库中)、SPILLABLEMEMORY(存放在内存和磁盘上,内存作为主要存储,当内存达到一定临界点的时候会溢写到磁盘上。其中和了memory channel和File channel的优缺点)
agent.channels.memoryChannel.type = memory# Other config values specific to each type of channel(sink or source)
# can be defined as well
# In this case, it specifies the capacity of the memory channel
# 通道最大缓存事件数(超过后新事件会被阻塞,需根据内存调整)
agent.channels.memoryChannel.capacity = 100# 5. 绑定组件关系(核心!连接 Source → Channel → Sink)  
# Source 输出到指定 Channel
agent.sources.seqGenSrc.channels = memoryChannel
# Sink 从指定 Channel 读取数据 
agent.sinks.loggerSink.channel = memoryChannel
启动命令

假设配置文件 flume-simple.conf 放在 Flume 安装目录的 conf 文件夹下,执行以下命令:

flume-ng agent \  -c /usr/local/Cellar/flume/1.9.0_1/libexec/conf \  # 配置文件目录(含 flume-env.sh)  -f conf/flume-simple.conf \  # 具体配置文件路径  --name agent \  # Agent 名称(与配置文件中一致)  -Dflume.root.logger=INFO,console  # 可选:将日志输出到控制台(方便调试)  
启动成功验证

若配置正确,该命令会在log文件中一直打印数字,表明序列生成器正在产生数据,且通过 Sink 打印到日志,日志所在位置查看log4j.properties中的配置

flume启动时默认堆内存为200M,如果实际数据量很大时,需要修改flume-env.sh中的$JAVA_OPTS

常见启动问题及解决

  1. Agent 名称不一致
    错误提示:Agent specified name 'myagent' does not match any agent name in configuration
    解决:确保启动命令的 --name 参数与配置文件中定义的 Agent 名称一致(如均为 agent)。

  2. 配置文件路径错误
    错误提示:Cannot find configuration file: conf/flume-simple.conf
    解决:检查 -f 参数后的路径是否正确(相对路径以执行命令的目录为基准)。

  3. 堆内存不足
    错误提示:java.lang.OutOfMemoryError
    解决:修改 flume-env.sh 中的 JAVA_OPTS 增加堆内存:

    export JAVA_OPTS="-Xms512m -Xmx1024m"  # 初始512M,最大1024M  
    

扩展:自定义输出与调试技巧

上述案例仅为基础演示,实际场景中可根据需求修改配置:

1. 更换 Source 类型

seqGenSrc 改为监听本地文件的 spooldir 源,采集指定目录的日志文件:

agent.sources.seqGenSrc.type = spooldir  
agent.sources.seqGenSrc.spoolDir = /var/log/myapp  # 监听的目录  
agent.sources.seqGenSrc.fileSuffix = .COMPLETED  # 处理完的文件添加后缀  
2. 更换 Sink 类型

loggerSink 改为输出到 HDFS 的 hdfs sink,实现日志持久化:

agent.sinks.loggerSink.type = hdfs  
agent.sinks.loggerSink.hdfs.path = hdfs://localhost:9000/flume/logs/%Y%m%d  # HDFS 路径(按日期分区)  
agent.sinks.loggerSink.hdfs.filePrefix = applog-  # 文件前缀  
agent.sinks.loggerSink.hdfs.rollInterval = 3600  # 每小时滚动生成新文件  
3. 调试技巧
  • 控制台日志:通过 -Dflume.root.logger=DEBUG,console 开启 DEBUG 级别日志,查看数据流转细节;

  • 配置校验:启动时添加-e参数验证配置文件语法(仅校验不启动 Agent):

    flume-ng agent -c conf -f conf/flume-simple.conf --name agent -e  
    

参考文献

  • flume简单配置
http://www.dtcms.com/a/591684.html

相关文章:

  • 深圳建设信息网站做360网站快速排名软件
  • 珠海响应式网站建设推广公司我做网站
  • 深圳市宝安区西乡街道邮政编码正规seo一般多少钱
  • 汕尾网站网站建设wordpress主题开发
  • 网站编辑器是怎么做的百度小说风云榜排名完结
  • 开发建设信息的网站ajax+jsp网站开发从入门到精通
  • 宝安网站建设网站做301根目录在哪里
  • dede批量建站网页游戏平台模板
  • 电子商务网站建设的概要设计郴州seo服务
  • 做网站翻页怎么做电子商务网站的推广方式
  • 南京网站开发xuan南京乐识平台设计是做什么的
  • 用dw做的十二星座网站免费做网站改版多少钱
  • 深圳装饰公司wordpress seo 优化
  • 灵感设计网站网站营销最大的特点
  • 免费行情软件app网站红色网站优化怎么弄
  • 泉州住房和城乡建设部网站网站建设黄页免费在线观看
  • 做二手房需要用到哪些网站搜集房源网页设计重庆
  • 阿里云网站建设详细教程台州网站设计
  • 海南网站建设报价方案自己的身份已经网站备案了
  • 怎么能查到网站是哪个公司做的wordpress游戏充值
  • 新服务器做网站wordpress 支付宝个人
  • 做个静态网站多少钱dede 网站名称不显示
  • 免费的seo网站下载阿里云怎么申请域名
  • qq引流推广软件哪个好专业网站优化电话
  • 福建省建设干部网站建筑方案设计
  • 做网站需要租服务器么赣州做网站的公司
  • 分类信息网站怎么做网站开发软件有哪些免费
  • 重庆那些网站知页怎么转换wordpress
  • 担路网如何快速做网站ppt在线制作
  • 自适应网站的缺点做网站用linux哪个版本