FlumeNG实操:收集Tomcat日志到Hive数据仓库

需积分: 26 8 下载量 79 浏览量 更新于2024-08-18 收藏 2.16MB PPT 举报
"本资源主要介绍了如何使用FlumeNG收集Tomcat日志,并将其存储到指定目录,同时提到了Hive在大数据处理中的应用,以及暴风公司数据仓库的相关案例。此外,还涉及了数据挖掘、用户细分、推荐系统和Hadoop生态圈的组件如Hadoop、Hive、Pig、HBase、Mahout等。" 在大数据处理领域,FlumeNG是一个常用的数据收集工具,用于实时或者近实时地从多个源收集数据,然后传输到一个集中的存储系统。在这个例子中,FlumeNG被配置为监控Tomcat服务器的日志。配置文件`tomcat.conf`定义了一个名为`agent1`的Agent,该Agent包含一个source、一个sink和一个channel。 `agent1.sources.source1.type = exec`指定了source类型为exec,意味着它将执行一个命令来获取数据。在这里,命令是`tail -n +0 -F /opt/tomcat/logs/catalina.out`,实时跟踪并读取Tomcat的日志文件`catalina.out`。 `agent1.sinks.sink1.type = file_roll`定义了sink类型为file_roll,它会将收集到的数据写入到指定的文件夹`/var/log/data`。 `agent1.channels.channel1.type = file`表示channel类型为file,它会在`/var/checkpoint`和`/var/tmp`目录下创建检查点和数据文件,并且设置容量和事务处理能力。 在运行FlumeNG agent时,使用`bin/flume-ng agent --conf conf --conf-file tomcat.conf --name agent1 -Dflume.root.logger=INFO,console`命令启动配置好的agent,agent会自动开始收集并存储Tomcat的日志。 Hive是一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能。在暴风公司的案例中,Hive被用来处理超过1.2TB/天的日志数据,执行3500+的任务,每天的数据吞吐量达到10TB+,实现小时级别的离线数据分析。 Hadoop生态圈中的其他组件如Pig用于离线数据分析,HBase用于部分数据的存储,Mahout则用于数据挖掘。在数据系统的演进中,从最初的系统到更复杂的数据处理架构,体现了大数据处理技术的不断进步和优化。Hive构建在HDFS和MapReduce之上,提供HQL(Hive Query Language)作为查询接口,元数据可以存储在包括Derby、MySQL或Oracle在内的多种数据库中。 这个资源涵盖了大数据处理的关键环节,包括数据收集、存储、分析和数据仓库的构建,对于理解大数据处理流程和相关工具的使用具有很高的参考价值。