版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Flume安装与配置主讲:李强任务描述Flume的安装相对来说比较简单,本任务的核心配置是设置Flume代理的配置文件,并通过这个代理实例完成数据的采集。任务分析Flume安装后只需要增加运行的环境变量,并设置Java的安装目录即可;使用Flume需要编辑一个配置文件,在配置文件当中描述Source、Channel与Sink的具体实现,而后再运行一个Agent实例,在运行Agent实例的过程中会读取配置文件的内容,Flume就会完成数据采集的任务,Source组件可以设置为系统日志、文件目录、Kafka等类型,Sink可以传输给HDFS、Hive或HBase等,在本任务应用案例中,监控采集文件目录的日志并传输到HDFS文件中。8.1.1安装Flume组件1.解压安装文件下载好的安装包都需上传到指定目录下,本手册指定为/root/目录,使用ls命令可以查看上传的安装包(具体上传方式请参考项目1),如图8-1所示。代码8-1解压安装包tar-zxfapache-flume-1.9.0-bin.tar.gz-C/usr/local/src/ls/usr/local/src/图8-1查看安装包使用tar命令解压Flume到/usr/local/src文件夹,并切换到安装目录下查看,可以使用ls查看解压后的效果,如代码8-1所示,效果如图8-2所示。图8-2查看解压好的安装包2.修改文件夹名称由于解压后的文件夹名称带有比较复杂的版本号,为了简化后续配置,此处修改文件夹名称。使用mv命令将解压的apache-flume-1.9.0-bin目录重命名为flume,如代码8-2所示,效果如图8-3所示:代码8-2重命名文件夹mv/usr/local/src/apache-flume-1.9.0-bin/usr/local/src/flumels/usr/local/src/图8-3重命名文件夹3.修改环境变量文件为了可以在任何目录下直接执行Flume的相关命令,可以在环境变量文件中添加Flume的环境变量。参考项目2,使用“vi/root/.bash_profile”编辑环境变量文件,将如表8-1所示的配置信息添加到/root/.bash_profile文件的末尾,保存退出。表8-1环境变量文件的添加内容#setflumeenvironmentexportFLUME_HOME=/usr/local/src/flumeexportPATH=$PATH:$FLUME_HOME/bin4.生效环境变量文件为了刷新环境变量文件的配置,需要在master节点执行下面的命令使得环境变量文件生效,如代码8-3所示。代码8-3生效环境配置文件source/root/.bash_profile8.1.2配置Flume1.修改flume-env.sh配置文件flume-env.sh是Flume命令执行时去加载Java的环境变量设置文件。由于/usr/local/src/flume/conf目录里的是配置模板文件,需要复制为flume-env.sh,使用代码8-4的代码复制并修改文件内容。打开配置文件后,首先将“exportJAVA_HOME”前面的#去掉;值的内容修改为Java的安装目录,具体设置参考内容如表8-2所示。代码8-4修改flume-env.sh文件cd/usr/local/src/flume/confcpflume-env.sh.templateflume-env.shviflume-env.sh表8-2文件的修改内容exportJAVA_HOME=/usr/local/src/java2.更新软件包因为Hadoop是3.1.4版本的,所带的guava版本较高,与Flume带的版本冲突,所以这里要在Flume的lib文件夹下将guava-11.0.2.jar删除,并将Hadoop的较高版本guava的Jar包复制进来,可以使用代码8-5中的代码来完成软件包的更新,具体的软件包版本应该参加本地的实际版本进行调整。代码8-5更新guava包cd/usr/local/src/flume/librmguava-11.0.2.jarcp/usr/local/src/hive/lib/guava-27.0-jre.jar./#放到/usr/local/src/flume/lib当前的目录下3.验证Flume安装情况至此,Flume的安装与配置已经完成,可以使用中代码8-6的命令,验证Flume的安装配置情况。执行代码8-6后,显示Flume的版本号为1.9.0,表示Flume安装成功,如图8-4所示。代码8-6验证Flumeflume-ngversion图8-4Flume的安装版本8.1.3创建代理文件创建代理文件要完成Flume数据采集任务,需要创建一个Agent的配置文件,内容包括Source、Channel和Sink类型和属性配置。在Flume安装目录下创建一个simple_hdfs_flume.conf文件,如代码8-7所示。在该文件中添加内容,如表8-3所示,其中a1.sources.r1.spoolDir的选项设置为“/usr/local/src/hadoop/logs/”,表示采集Hadoop集群运行的日志记录;a1.sinks.k1.hdfs.path设置为“hdfs://master:9000/tmp/flume”,表示将采集到的日志以文件的形式存储到HDFS系统该目录,其他具体的设置请参考其中的注释。代理配置文件中各个组件的属性设置可以有很多的选择,具体请参考官方文档,这里仅举例说明。代码8-7创建Flume代理配置文件cd/usr/local/src/flume/conf/visimple_hdfs_flume.conf#设置agent的名称为a1,a1的sources组件名称为r1,a1的sinks组件名称为k1,a1的channels组件名称为k1a1.sources=r1a1.sinks=k1a1.channels=c1#下面设置r1的类型为监听目录,并设置监听的目录以及文件头属性a1.sources.r1.type=spooldira1.sources.r1.spoolDir=/usr/local/src/hadoop/logs/a1.sources.r1.fileHeader=true#下面设置k1的类型为HDFS,并设置HDFS的目标路径以及文件的相关的属性a1.sinks.k1.type=hdfsa1.sinks.k1.hdfs.path=hdfs://master:9000/tmp/flume......省略表8-3代理配置文件内容8.1.4启动Flume并传输数据启动Flume并传输数据参考项目2在master节点执行start-all.sh启动,并使用jps查看Java进程是否正常。在master节点的一个终端窗口使用中的Flume命令加载simple_hdfs_flume.conf代理配置文件,并启动Flume进行日志数据的采集与传输,如代码8-8所示。启动Flume后,Agent的a1实例启动后,会成功创建c1、r1、k1组件实例,启动后的最后一段内容如图8-5所示,表示Flume正在监控对应的目录,并进行数据的采集与传输中,如果需要查看采集和传输的效果,请不要关闭该窗口,打开新的窗口查看。图8-5Flume启动后采集和传输的过程图代码8-8启动Flumecd/usr/local/src/flume/confflume-ngagent--conf-filesimple_hdfs_flume.conf--namea18.1.5查看Flume传输的文件数据启动Flume并传输数据开启一个新的master节点终端,进入配置文件中所设置的HDFS文件存储路径,查看该文件路径的情况,如代码8-9所示。可以看到该文件夹下面已经传输了很多的日志文件,每一次或者不同的主机产生的日志文件记录是不相同的,具体情况参考如图8-6所示。图8-6HDFS收集的数据文件代码8-9查看HDFS文件目录hdfsdfs-ls/tmp/flume启动Flume并传输数据也可以通过HDFS的WebUI界面查看,具体文件情况参考如图8-7所示。图8-6HDFS收集的数据文件谢谢广告日志数据采集系统主讲:李强任务描述系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,及时分析相关问题、追查错误根源纠正错误。许多公司的业务平台每天都会产生大量的日志数据。收集业务日志数据,供离线和在线的分析系统使用,正是日志收集系统的要做的事情。现有一个服装电商网站,与某热门视频网站公司广告部合作,在视频网站中为用户推送广告,要求在网站主页面需要投放广告,且保证曝光率不低于1/5;在视频播放过程中穿插广告,且保证总曝光量不低于100000次,基于该目标,将使用Flume模拟广告日志采集系统的数据采集过程。在广告日志采集系统中有两种日志类型:一种是广告系统运行过程中产生的日志,是广告系统在运行过程中产生的文件型系统日志;一种是广告曝光日志,一个广告的一次曝光,会产生一条曝光日志。本案例将会模拟实时采集系统生成的日志文件catalina.log,并保存到HDFS,接着模拟广告曝光记录数据的采集,并将广告曝光记录数据采集并保存至HDFS,所用数据为case_data_new.csv,各数据字段说明如表8-4所示。任务描述表8-4case_data_new.csv数据字段说明属性名称中文名称示例备注rank记录序号5(第5条记录)
dt相对日期3(第3天)单位为天cookiecookie值7083a0cba2acd512767737c65d5800c8
ipIP地址47经过脱敏idfaidfa值bc50cc5fb39336cf39e3c9fe1b16bf48可用于识别IOS用户imeiimei值990de8af5ed0f3744b61770173794555可用于识别Android用户androidandroid值7730a40b70cf9b023d23e332da846bfb可用于识别Android用户openudidopenudid值7aaeb5d6af25f9fe918ec39b0f79a2c8可用于识别IOS用户macmac值6ed9fcefd06a2ab5f901e601a3a53a2d可用于识别不同硬件设备timestamps时间戳0(记录于数据区间的初始时间点)
camp项目ID61520
creativeid创意ID0
mobile_os设备OS版本信息5.0.2该值为原始值mobile_type机型'Redmi+Note+3'(设备为红米Note3)
app_key_md5appkey信息ffe435bdb6ce18dd4758c0005c4787db
app_name_md5appname信息6f569b4fa576d25fb98e60bda9c97426
placementid广告位信息72ee620530c7c8cd4b423d4b4502b45b
useragent浏览器信息"Mozilla%2f5.0%20%28compatible%3b
mediaid媒体id信息1118
os_typeOS类型标记0(采集到的OS类型标记为0)
born_timecookie生成时间160807(第160807日)任务分析为了贴近真实的生产环境,针对广告日志系统中产生的系统日志和广告曝光记录数据,将通过数据模拟产生的方式对数据进行采集,采集步骤如下。(1)通过脚本定时抽取数据并写入指定的目录,模拟系统日志产生的过程。(2)编写conf脚本实现采集系统日志,并保存到HDFS文件系统。(3)创建MySQL数据表,并通过脚本实时导入数据,模拟曝光记录产生的过程。(4)编写conf脚本实现采集曝光记录,并保存到HDFS文件系统。8.2.1广告系统日志数据采集广告系统日志数据采集将系统日志catalina.log上传至Linux系统目录/opt,并在/opt目录下创建新文件夹/flumeproject,用于存放抽取的数据。在/opt目录下创建脚本createLog.sh,内容如代码8-10所示,可用于抽取100行数据,并按日期格式存储至/flumeproject。代码8-10脚本createLog.sh的内容time=$(date"+%Y%m%d%H%M%S")shuf-n100/opt/catalina.log>/opt/flumeproject/catalina_${time}.log在master主节点输入代码“crontab-e”,打开定时任务,输入内容“*****sh/opt/createLog.sh”,开始每分钟抽取100行数据,模拟系统日志的产生。创建脚本ad-spool-file-hdfs.conf,实现采集系统日志并保存至HDFS的配置,脚本内容如代码8-11所示。代码8-11脚本ad-spool-file-hdfs.conf的内容ad.sources=r1ad.channels=c1ad.sinks=s1#定义sourcead.sources.r1.type=spooldirad.sources.r1.spoolDir=/opt/flumeprojectad.sources.r1.channels=c1#设置时间戳拦截器erceptors=tserceptors.ts.type=timestamp#定义filechannel......省略广告系统日志数据采集将脚本ad-spool-file-hdfs.conf放置在/usr/local/flume/conf/目录下,启动FlumeAgent程序采集广告系统日志数据,如代码8-12所示。执行代码8-12,即可在HadoopWeb端口查看/user/root/flumeproject目录下有系统日志产生,如图8-8所示。至此,完成广告系统日志数据的模拟产生和采集过程。代码8-12启动FlumeAgent采集广告系统日志数据/usr/local/flume/bin/flume-ngagent-c/usr/local/flume/conf-f/usr/local/flume/conf/ad-spool-file-hdfs.conf-nad-Dflume.root.logger=INFO,console图8-8在HadoopWeb端口查看采集的文件8.2.2广告曝光日志数据采集广告曝光日志数据采集进入MySQL命令窗口,创建数据库flume,并在flume下创建广告日志数据表case_data,如代码8-13所示,用于存放广告系统日志数据。代码8-13创建广告日志数据表case_datacreatedatabaseflume;useflume;createtablecase_data(`rank`int,dtint,cookievarchar(200),ipvarchar(200),idfavarchar(200),imeivarchar(200),androidvarchar(200),openudidvarchar(200),macvarchar(200),timestampsint,campint,creativeidint,mobile_osint,mobile_typevarchar(200),app_key_md5varchar(200),app_name_md5varchar(200),placementidvarchar(200),useragentvarchar(200),mediaidvarchar(200),os_typevarchar(200),born_timeint);#开启MySQL的local_infile服务setgloballocal_infile=1;广告曝光日志数据采集将系统日志case_data_new.csv上传至Linux系统目录/opt,在/opt目录下创建抽取10行数据脚本loaddata_mysql.sh,脚本内容如代码8-14所示。代码8-14脚本loaddata_mysql.sh的内容shuf-n10/opt/case_data_new.csv>/opt/mysqltmp.txtmysql-uroot-pPassword123$--local-infile-e"useflume;loaddatalocalinfile'/opt/mysqltmp.txt'intotablecase_datafieldsterminatedby','OPTIONALLYENCLOSEDBY'\"';"在master主节点输入代码“crontab-e”,打开定时任务,输入内容“*****sh/opt/loaddata_mysql.sh”,开始每分钟抽取10行数据,模拟系统日志的产生。将flume-ng-sql-source-1.5.2.jar文件和MySQL连接驱动放入Flume安装包的lib目录。广告曝光日志数据采集创建脚本ad_mysql_memory_hdfs.conf,实现从MySQL采集系统日志并保存至HDFS的配置,脚本内容如代码8-15所示。代码8-15脚本ad_mysql_memory_hdfs.conf的内容ad.sources=sqlSourcead.channels=c1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度大理石石材行业知识产权保护合同12篇
- 2024年高风险项目利息支付借款协议3篇
- 2024蔬菜种子研发与推广合作协议范本3篇
- 2024版维修改造施工合同
- 二零二五年度高压开关设备采购及调试合同
- 二零二五年电力公司运维检修人员劳动合同范本3篇
- 2025年度核电站设备安装施工合同协议3篇
- 二零二五年度医疗设备租赁与维修一体化服务合同3篇
- 2025年度新型电子商务平台安全协议应用指南合同3篇
- 2024聘用至退休合同续签书:医疗行业专家续聘6篇
- 第二章 运营管理战略
- 《三本白皮书》全文内容及应知应会知识点
- 专题14 思想方法专题:线段与角计算中的思想方法压轴题四种模型全攻略(解析版)
- 医院外来器械及植入物管理制度(4篇)
- 图像识别领域自适应技术-洞察分析
- 港口与港口工程概论
- 《念珠菌感染的治疗》课件
- 门店装修设计手册
- 新概念英语第二册考评试卷含答案(第49-56课)
- 商业伦理与企业社会责任(山东财经大学)智慧树知到期末考试答案章节答案2024年山东财经大学
- 【奥运会奖牌榜预测建模实证探析12000字(论文)】
评论
0/150
提交评论