flume


1下载

flume.apache.org



2修改配置flume_home/conf/flume-env.sh

添加JAVA_HOME



3.启动flume


 flume-ng agent -n a4 -C /home/sfapp/conf -f /home/sfapp/conf/a4.conf -Dflume.root.logger=INFO,console

-n 名字的意思


-C是a4配置文件在的目录

-f是配置文件



-Dflume.root.logger是日志打印级别



a4.conf

#定义agent名, source、channel、sink的名称
a4.sources = r1
a4.channels = c1
a4.sinks = k1


#具体定义source
a4.sources.r1.type = spooldir
a4.sources.r1.spoolDir = /home/sfapp/logs


#具体定义channel
a4.channels.c1.type = memory
a4.channels.c1.capacity = 10000
a4.channels.c1.transactionCapacity = 100


#定义拦截器,为消息添加时间戳
a4.sources.r1.interceptors = i1
a4.sources.r1.interceptors.i1.type = org.apache.flume.interceptor.TimestampInterceptor$Builder




#具体定义sink
a4.sinks.k1.type = hdfs
a4.sinks.k1.hdfs.path = hdfs://centos1:9000/flume/%Y%m%d
a4.sinks.k1.hdfs.filePrefix = events-
a4.sinks.k1.hdfs.fileType = DataStream
#不按照条数生成文件
a4.sinks.k1.hdfs.rollCount = 0
#HDFS上的文件达到128M时生成一个文件
a4.sinks.k1.hdfs.rollSize = 134217728
#HDFS上的文件达到60秒生成一个文件
a4.sinks.k1.hdfs.rollInterval = 60


#组装source、channel、sink
a4.sources.r1.channels = c1
a4.sinks.k1.channel = c1


故障

启动flume时如果找不到class,可以去HADOOP_HOME的lib目录下寻找,然后拷贝到FLUME_HOME/lib下

如果flume的sink是写入hdfs,而flume不认识hdfs目录,可以将hadoop的配置文件core-site.xml hdfs-site.xml 拷贝到FLUME_HOME/conf下



### Apache Flume 数据采集框架概述 #### 1. Apache Flume 是什么? Apache Flume 是一种分布式的、可靠的、高可用的日志收集工具,主要用于大规模日志数据的采集、聚合和传输。它能够从各种数据源中捕获流式数据并将其写入到中心化存储系统中,例如 HDFS 或 Kafka[^1]。 #### 2. 架构组成 Flume 的核心架构由三个主要组件构成:Source、Channel 和 Sink。 - **Source**: 负责接收外部系统的数据输入,并将这些数据传递给 Channel。常见的 Source 类型包括 Avro Source、Exec Source 和 Netcat Source 等[^3]。 - **Channel**: 作为一个临缓冲区,用于存储来自 Source 的事件,直到它们被传送到 Sink。常用的 Channel 包括 Memory Channel 和 File Channel[^3]。 - **Sink**: 将数据从 Channel 中取出并发送至最终的目标存储位置,比如 HDFS、Kafka 或其他数据库系统。 #### 3. 安装与部署 安装 Apache Flume 非常简便,通常只需要下载官方发布的二进制包文件,解压缩后设置 JDK 环境变量即可完成基本配置。以下是典型的安装步骤: ```bash cd /export/software rz apache-flume-1.9.0-bin.tar.gz tar -zxf apache-flume-1.9.0-bin.tar.gz -C /export/server cd /export/server mv apache-flume-1.9.0-bin flume-1.9.0-bin ln -s flume-1.9.0-bin flume ``` 通过以上命令可以快速搭建起基础运行环境[^2]。 #### 4. 启动流程 启动一个简单的 Flume Agent 可以按照如下方式进行操作: ```bash bin/flume-ng agent \ -c conf/ \ -n a1 \ -f datas/netcat-flume-logger.conf \ -Dflume.root.logger=INFO,console \ -Dflume.monitoring.type=ganglia \ -Dflume.monitoring.hosts=hadoop202:8649 ``` 此脚本定义了一个名为 `a1` 的代理节点,并指定了其使用的配置文件路径以及监控参数[^4]。 #### 5. 实战应用案例 在企业环境中,Flume 常与其他大数据技术栈相结合来实现复杂场景下的解决方案。例如,利用 SparkSession 对 Flume 收集来的原始日志进行清洗加工后再存入 Kafka 主题供下游消费;或者借助 Apache Hudi 技术构建增量更新的数据湖结构以便于后续分析查询等高级功能开发。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值