版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目5
动态网页访问日志数据采集使用Flume采集某官网访问日志数据目录Content1使用Kafka消费Flume中某官网访问日志数据
2学习目标零知识目标了解什么是日志采集;熟悉日志数据采集的方法;掌握Flume进行数据采集的方法;精通使用Kafka进行消息订阅发布的方法技能目标具备使用Flume拦截器过滤数据的能力;具备熟悉Kafka的脚本操作的能力;具备掌握Flume采集日志文件的能力;具备掌握使用Kafka进行消息发布订阅的能力;素养目标具备精通Flume+Kafka架构实现数据采集的能力。技能目标具备事业心和责任心;具有艰苦奋斗的精神和务实作风;具有健康的体魄,良好的身体素质;具备责任心。使用Flume采集某官网访问日志数据壹Flume简介任务技能Flume是一个由Cloudera开发的分布式、可靠和高可用的海量日志收集和传输系统,具有基于流数据的简单灵活的架构。Flume数据采集配置Flume实现数据采集的方式非常简单,只需编辑相应的配置文件即可完成特定数据的采集与存储。Flume启动启动Flume代理使用名为flume-ng的shell脚本,该脚本位于Flume发行版的bin目录中。Flume拦截器配置Flume能够在数据采集的过程中对事件进行删除或修改,可理解为对事件进行过滤,这些功能是靠拦截器完成的。使用Flume采集某官网访问日志数据壹2Flume数据采集配置
Flume实现数据采集的方式非常简单,只需编辑相应的配置文件即可完成特定数据的采集与存储,配置文件中需要对数据源(source)、通道(channel)和接收器(sink)进行配置。1.数据源配置
用于监听Avro端口并接收来自外部Avro客户端的事件流。当两个Flumeagent的AvroSink和AvroSource对应时,可组成分层集合拓扑结构。(1)AvroSource属性描述channels指定通道的名称type组件类型名称,值为avrobind监听的主机名或IP地址port监听的端口使用Flume采集某官网访问日志数据壹2Flume数据采集配置1.数据源配置
ExecSource的配置是指设置一个Linux或Unix命令,通过该命令不断输出数据,当命令进程退出时ExecSource也会退出,后续不会产生下一步数据。ExecSource和其他异步源的问题在于,如果将事件放入Channel失败,无法保证数据的完整性。(2)Exec
Source属性描述channels指定通道的名称type组件类型名称,值为execcommand要执行的命令#配置一个agent,agent的名称可自定义#指定agent的sources(如r1)、channels(如c1)a1.sources=r1a1.channels=c1a1.sources.r1.type=execmand=tail-F/var/log/securea1.sources.r1.channels=c1使用Flume采集某官网访问日志数据壹2Flume数据采集配置
SpoolingDirectorySource能够通过磁盘中的目录摄取数据,当监控的制定目录中出现新文件时,会将文件作为source进行处理,一旦文件被放到“自动收集”目录中后,便不能修改和重命名。(3)SpoolingDirectorySource属性描述channels指定通道的名称type组件类型名称,值为spooldirspoolDir读取文件的目录。fileHeader是否添加存储绝对路径文件名的文件头。#配置一个agent,agent的名称可自定义#指定agent的sources(如r1)、channels(如c1)a1.sources=r1a1.channels=c1a1.sources.r1.type=spooldira1.sources.r1.channels=c1a1.sources.r1.spoolDir=/var/log/apache/flumeSpoola1.sources.r1.fileHeader=true使用Flume采集某官网访问日志数据壹2Flume数据采集配置
Flume能够作为Kafka的消费者,从Kafka中读取消息,当有多个kafka源在运行时,可以使用相同的ConsumerGroup
以便读取一组唯一的主题分区。(4)KafkaSource属性描述channels指定通道的名称type组件类型名称,值为org.apache.flume.source.kafka.KafkaSourcekafka.bootstrap.serversKafka集群中的broker列表kafka.topicsKafka消费者将从中读取消息的以逗号分隔的主题列表。kafka.topics.regex定义源订阅的主题集的正则表达式。此属性的优先级高于kafka.topicsbatchSize一批写入Channel的最大消息数batchDurationMillis将批次写入通道之前的最长时间(以毫秒为单位)只要达到大小和时间中的第一个,就会写入批次。kafka.consumer.group.id消费者组的唯一标识。使用Flume采集某官网访问日志数据壹2Flume数据采集配置
监听指定端口并将每一行文本转换为一个事件。与命令nc
-k
-l
[host]
[port]类似。接收的数据是以换行符分隔的文本。每一行文本都会变成一个Flume事件并通过连接的通道发送。(5)NetCatTCPSource属性描述channels指定通道的名称type组件类型名称,值为spooldirbind监听的主机IP地址port监听的主机端口号#配置一个agent,agent的名称可自定义#指定agent的sources(如r1)、channels(如c1)a1.sources=r1a1.channels=c1a1.sources.r1.type=netcata1.sources.r1.bind=a1.sources.r1.port=6666a1.sources.r1.channels=c1使用Flume采集某官网访问日志数据壹2Flume数据采集配置(1)MemoryChannel
使用内存作为源与接收器之间的保留区称之为内存通道,内存速度比磁盘快数倍,所以数据传输的速度也会随之加快。2.通道配置属性描述type组件类型名称,需要设置为memorycapacitychannel里存放的最大event数默认100transactionCapacityChannel每次提交的Event数量默认100byteCapacityBufferPercentage定义byteCapacity和通道中所有事件的估计总大小之间的缓冲区百分比byteCapacity设置通道中所有事件在内存中的大小总和使用Flume采集某官网访问日志数据壹2Flume数据采集配置(2)FileChannel
使用磁盘作为源与接收器之间的保留区称之为文件通道,由于文件通道使用的是磁盘,所以会比内存通道速度慢。文件通道优点在于当遇到断电、硬件故障等能够导致Flume采集中断的问题时,重启Flume即可不会造成数据丢失2.通道配置属性描述type组件类型名称,需要设置为filecheckpointDir存储检查点文件的目录dataDirs用于存储日志文件。在不同磁盘上使用多个目录可以提高文件通道性能使用Flume采集某官网访问日志数据壹2Flume数据采集配置(1)HDFSSinks
此接收器数据写入Hadoop分布式文件系统(HDFS),持创建文本和序列文件,使用此接收器需要安装Hadoop,以便Flume与HDFS集群进行通信。3.接收器配置属性默认值描述channel-指定通道的名称type-组件类型名称,需要为hdfshdfs.path-写入hdfs的路径(必选)hdfs.filePrefixFLumeData文件名前缀hdfs.fileSuffix-文件名后缀hdfs.inUsePrefix-用于flume主动写入的临时文件的前缀hdfs.inUseSuffix.tmp用于flume主动写入的临时文件的后缀hdfs.rollInterval30按时间生成HDFS文件,单位:秒hdfs.rollSize1024触发滚动的文件大小,以字节为单位(0:从不根据文件大小进行滚动)hdfs.rollCount10按事件数量生成新文件hdfs.idleTimeout0关闭非活动文件的超时(0=禁用自动关闭空闲文件)hdfs.fileTypeSequenceFile文件格式,包括:SequenceFile,DataStream,CompressedStreamhdfs.writeFormatWritable写文件的格式。包含:Text,Writablehdfs.roundfalse是否对时间戳四舍五入hdfs.roundValue1将其四舍五入到最高倍数hdfs.roundUnitsecond向下取整的单位,可选值包括second,minuteorhourhdfs.minBlockReplicas-设置HDFS块的副本数,默认采用Hadoop的配置hdfs.useLocalTimeStampFalse在替换转义序列时使用本地时间(而不是事件标头中的时间戳)使用Flume采集某官网访问日志数据壹2Flume数据采集配置(1)HDFSSinks
HDFSSink能够根据时间、数据大小、事件数定期滚动文件(关闭当前文件并创建新文件)或按时间戳、事件起源的机器等属性对数据进行存储/分区。此时在hdfs.path设置中会包含格式转义序列,这些转义序列将被HDFS接收器替换以生成目录/文件名来存储事件。3.接收器配置转义序列描述%{host}主机名%t以毫秒为单位的Unix时间%a语言环境的简短工作日名称(周一、周二、...)%A语言环境的完整工作日名称(星期一、星期二、...)%b语言环境的短月份名称(Jan、Feb、...)%B语言环境的长月份名称(一月,二月,...)%c语言环境的日期和时间(2005年3月3日星期四23:05:25)%d一个月中的某天(01)%e没有填充的月份中的某一天(1)%D日期;与%m/%d/%y相同%H小时,24小时制(00…23)%I小时,12小时制%j一年中的一天(001..366)%k小时(0..23)%m月(01..12)%n简短月份(1..12)%M分钟(00..59)%p语言环境相当于am或pm%s自1970-01-0100:00:00UTC以来的秒数%S秒(00..59)%y年份的最后两位数字(00..99)%Y年(2022)转义序列描述%{host}主机名%t以毫秒为单位的Unix时间%a语言环境的简短工作日名称(周一、周二、...)%A语言环境的完整工作日名称(星期一、星期二、...)%b语言环境的短月份名称(Jan、Feb、...)%B语言环境的长月份名称(一月,二月,...)%c语言环境的日期和时间(2005年3月3日星期四23:05:25)%d一个月中的某天(01)%e没有填充的月份中的某一天(1)%D日期;与%m/%d/%y相同%H小时,24小时制(00…23)%I小时,12小时制%j一年中的一天(001..366)%k小时(0..23)%m月(01..12)%n简短月份(1..12)%M分钟(00..59)%p语言环境相当于am或pm%s自1970-01-0100:00:00UTC以来的秒数%S秒(00..59)%y年份的最后两位数字(00..99)%Y年(2022)使用Flume采集某官网访问日志数据壹2Flume数据采集配置(2)HiveSink
HiveSink接收器能够将包含特定分隔符的文件或JSON数据的事件流传输到Hive表中。由于事件是基于Hive事务编写的,所以一旦Flume将一组事件提交到Hive后,在Hive表中可立即查询,需要注意的是使用HiveSink时需要将Hive表创建为事务表,并开始Hive的事务。3.接收器配置属性默认值描述channel-指定通道的名称type-组件类型名称,需要为hivehive.metastore-HiveMetastoreURI(例如thrift://abcom:9083)hive.database-Hive数据库名称hive.table-Hive中的表名称hive.partition-使用逗号分隔的分区值列表,标识要写入的分区。例如:如果表按(continent:string,country:string,time:string)分区,则'Asia,India,2014-02-26-01-21'将表示continent=Asia,country=India,time=2014-02-26-01-21heartBeatInterval240设置以秒为单位的心跳检测时间间隔,设置为0表示禁用心跳检测autoCreatePartitionstrueFlume将自动创建必要的Hive分区batchSize15000在单个Hive事务中写入Hive的最大事件数maxOpenConnections500打开链接的最大数量,如果超过此数量,则关闭最近最少使用的连接callTimeout10000Hive和HDFSI/O操作的超时时间,单位为秒serializer
序列化器,负责从
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 猫泳池洗护消毒执行流程规范
- 公共建筑工期资源配置投标方案
- 消化科胃炎护理工作措施
- 物流入口危险品运输管理制度
- 教育产品体验路径关键节点规划指南
- 科粤版九年级化学下册:6.1金属的物理特性教学设计
- 暑假课程PEP三年级教案第8讲 unit 4 We love animals同步单词短语 教案
- 模具车间日常点检保养规范
- 路面结构分层施工进度管理方案
- 桩基础施工雨季进度组织方案
- 小学生科学课程核心素养的培养与评价研究
- 多黏菌素类药物雾化吸入治疗下呼吸道多重耐药革兰阴性菌感染中国专家共识(2024年版) 解读
- 心理健康与职业生涯+期中模拟练习-2024-2025学年中职高教版(2023版)
- 《阳光心态迎接挑战》课件
- 河南省2023-2024学年高一化学下学期4月期中联考试题含解析
- 国家安全知识党课课件
- 干混悬剂临床应用研究-全面剖析
- 行政管理毕业论文 北京市社区治理中的问题及对策-以九龙社区为例
- 2023年瑞丰银行招聘考试真题
- 2024脚手架施工应急预案
- 蒋诗萌小品《谁杀死了周日》台词完整版
评论
0/150
提交评论