根据提供的文档内容,我们可以总结出以下几个关键的知识点: ### 大数据培训心得——Flume日志采集 #### Flume架构及工作原理 1. **Flume概述**:Flume是一款高可靠、高性能的日志采集、聚合和传输系统,支持在日志系统中定制各类数据发送方(log source)、缓冲池(intermediate buffer)以及数据接收方(store)。 2. **Flume组成部件**: - **Source**:负责接收或收集数据,可以监听网络流、文件等。 - **Channel**:作为Source与Sink之间的缓冲区,负责暂存从Source传来的数据。 - **Sink**:负责将数据传输到目的地,如HDFS、数据库等。 3. **数据传输基本单元**:Event。数据通过Event的形式从源端传递到目的端。 4. **配置文件详解**: - **a1.sources.r1.type**:设置source类型为exec,即执行外部命令。 - **a1.sources.r1.command**:指定执行的命令为`tail -F /home/disastrous/project/access.log`,持续监听`access.log`文件的新数据。 - **a1.sinks.k1.type**:设置sink类型为HDFS,即将数据写入HDFS。 - **a1.sinks.k1.hdfs.path**:指定HDFS存储路径为`hdfs://node1:9000/flume/webClick/logs/%y-%m-%d`,其中`%y-%m-%d`表示按年月日划分目录。 - **a1.sinks.k1.hdfs.filePrefix**:设置HDFS上文件名的前缀为`webClick-`。 - **滚动策略**: - **Roll Count**:根据数据量来决定是否生成新的文件,这里设置为0表示不启用。 - **Roll Interval**:根据时间间隔来决定是否生成新的文件,设置为60秒。 - **Roll Size**:根据文件大小来决定是否生成新的文件,设置为1024000000字节,即10GB。 - **Channel配置**: - **a1.channels.c1.type**:设置Channel类型为memory,即内存缓冲。 - **a1.channels.c1.capacity**:设置Channel的最大容量为20000个事件。 - **a1.channels.c1.transactionCapacity**:设置单次事务处理的事件数量为10000个。 - **a1.channels.c1.keep-alive**:设置Channel中事件的存活时间为1000毫秒。 5. **HDFS目录策略**: - **Round**:启用时间“舍弃”功能,即四舍五入。 - **Round Value**:设定为24,表示每24小时生成一个新的目录。 - **Round Unit**:设定为hour,表示按小时进行舍弃。 6. **常见问题及解决方案**: - **Channel Full Exception**:如果出现“空间不足以提交队列”的异常,可能是因为Sinks无法跟上Sources的速度或缓冲区大小设置过小。可以通过增加`capacity`和`transactionCapacity`的值来解决此问题。 #### 实验步骤与心得 1. **配置文件**:通过编写详细的配置文件`dataCollect.conf`来实现对Flume的控制。 2. **执行命令**:使用`flume-ng agent --conf conf --conf-file job/dataCollect.conf --name a1 -Dflume.root.logger=INFO,console`启动Flume服务。 3. **监控日志**:Flume的source会持续监听指定的日志文件`/home/disastrous/project/access.log`,并将新产生的数据实时传输到HDFS。 4. **HDFS文件管理**:根据预设的滚动策略,自动在HDFS上生成新的文件和目录,便于后续的数据处理和分析。 5. **性能调优**:通过对Channel参数的调整,确保数据能够顺利地从source流向sink,避免因为buffer满导致的服务中断。 通过本次培训,学员们不仅掌握了Flume的基本配置和使用方法,还学会了如何根据实际需求调整Flume的参数,以提高数据采集的效率和稳定性。这对于从事大数据开发和运维工作的人员来说是非常宝贵的经验。
- 粉丝: 119
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 新年倒计时网页基础教程
- Python编程初学者快速入门基础教程
- 新年倒计时编程基础教程
- 峰会报告自动化处理基础教程
- UE4UE5游戏开发基础教程:从零开始构建你的世界
- DataStructure-拓扑排序
- Front-end-learning-to-organize-notes-新年主题资源
- QPython Plus-Python资源
- baidulite-新年主题资源
- CnOCR-Python资源
- Golang_Puzzlers-新年主题资源
- Python开源扫雷游戏PyMine-Python资源
- Golang_Puzzlers-新年主题资源
- pyporter-Python资源
- Golang_Puzzlers-新年主题资源
- mulan-rework-Python资源