代码连接:https://gitee.com/shuai7boy/BIG_DATA_ETL 3.6使用Map/Redu
学习文档参考:
1.Flume是什么?Flume简单归纳综合就是一个收集日志的工具,它可以通过挪用接口,RPC,还有网页的一些操纵进行日志的收集。它是一个漫衍式开源的Java编写的由Apache维护的项目。
2.Flume如何搭建搭建前提条件
2.1下载并解压到指定目录崇尚授人以渔的思想,我说给大家怎么下载就行了,就不直接放连接了,大家可以直接输入官网地点 ,一般在官网的上方或者左边城市有Download按钮,这个在左侧,然后点进去下载想要的版本即可。 这个会有点慢,如果嫌弃的化,可以通过相关镜像网站进行下载,可以百度搜索软件镜像,就能搜到很多镜像网站,在里面就可以下载,如果你下载的对象属于Apache旗下的,可以看的有专门的一个Apache目录,里面存的都是Apache旗下相关产品。
可以先本地下载,然后通过ftp上传,也可以直接在处事器下载。
我这里下载好后,解压到了处事器/opt 目录下面,并改削了下目录名称为flume(你也可以不改,配置环境变量的时候凭据实际情况来就行了。)
2.2在flume-env.sh里面配置Java路径进入到 conf目录下面,对flume-env.sh进行编纂,将export JAVA_HOME改削为实际路径。
cd /opt/flume/conf/
vim flume-env.sh
export JAVA_HOME=http://www.mamicode.com/opt/java/jdk1.8.0_221
2.3添加Flume环境变量环境变量存放的是软件的具体位置,运行措施命令会按照配置的变量找到软件并执行,否则会报错。(通过手动下载并上传到Linux处事器的都需要配置环境变量。)
vim /etc/profile
export FLUME_HOME=http://www.mamicode.com/opt/flume
export FLUME_CONF_DIR=http://www.mamicode.com/opt/flume/conf
PATH=$FLUME_HOME/bin
source /etc/profile
2.4通过flume-ng version验证是否配置告成直接控制台运行 flume-ng version
显示Flume 1.6.0 就好了,如果显示了Error什么报错信息先不用管。
3.Flume应用日志收罗系统:
3.1配置nginx环境请参考菜鸟教程: https://www.runoob.com/linux/nginx-install-setup.html
凭据上述法式安置完后,需要对nginx配置下访谒日志格局:
编纂nginx.conf,默认安置路径在/etc/nginx下
cd /etc/nginx
vim nginx.conf
在http模块下面添加:
解析:(以^A为日志分隔断绝分手符,remote_addr代表长途地点,msec代表访谒时间,http_host代表访谒主机名,request_uri代表访谒资源)
log_format my_format ‘$remote_addr^A$msec^A$http_host^A$request_uri‘;
在server模块下面添加:
解析:(访谒地点 域名/log.gif,请求格局是image,存放地点是/opt/data/access.log )
location =http://www.mamicode.com/log.gif { default_type image/gif; access_log /opt/data/access.log my_format; }
这样访谒nginx的时候就会生成类似下面的内容:
192.168.40.1^A1577365502.563^Atuge1^A/log.gif?en=e_crt&oid=123456&on=%E6%B5%8B%E8%AF%95%E8%AE%A2%E5%8D%95123456&cua=524.01&cut=RMB&pt=alipay&ver=1&pl=website&sdk=js&u_ud=039F6588-ED65-4187-87CF-9DBBC9F19645&u_mid=zhangsan&u_sd=605DECAA-93C0-46B7-AC47-7B1898DBD6BC&c_time=1577365502881&l=zh-CN&b_iev=Mozilla%2F5.0%20(Windows%20NT%2010.0%3B%20WOW64)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F78.0.3904.97%20Safari%2F537.36&b_rst=1536*86
3.2编写触发事件传输代码代码思路:
前端通过触发事件,生成image格局数据发送。
后端通过API接口直接发送Get请求。
代码连接: https://gitee.com/shuai7boy/BIG_DATA_LOG
3.3配置Flume环境下载
去官网下载,然后上传随处事器并进行解压。
在flume配置文件中配置java环境变量
找到flume-env.sh进行配置,什么?没有?不妨,将flume-env.sh.template重定名下就行了。
配置flume环境变量
vim /etc/profile
export FLUME_HOME=http://www.mamicode.com/opt/flume export FLUME_CONF_DIR=http://www.mamicode.com/opt/flume/conf
PATH=$FLUME_HOME/bin
验证是否配置告成
flume-ng version
当弹出以下内容,则说明配置告成。
Flume 1.6.0 Source code repository: https://git-wip-us.apache.org/repos/asf/flume.git Revision: 2561a23240a71ba20bf288c7c2cda88f443c2080 Compiled by hshreedharan on Mon May 11 11:15:44 PDT 2015 From source with checksum b29e416802ce9ece3269d34233baf43f
3.4运行Flume,将本地日志写入HDFS编写flume代码,参考官方案例:
在安置Linux的处事器上,创建一个监控文件(临时取名optionHdfs.conf):
# example.conf: A single-node Flume configuration
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /opt/data/access.log --监控文件路径,新增加内容就会往hdfs里面写。
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31144.html