部署数据环境(flume)

flume连接kafka

flume(日志收集器):通过一个配置文件定义一个代理

配置文件:

(1).source :从哪里过来

(2).sink:数据流向哪里

(3)通道:通过通道输出。使用内存传数据比较慢。如果数据传的快过内存,就会堵塞,为了解决瓶颈问题,我们使用kafka,kafka输出的比较块。但是如果通过网络传输就会慢下来。所以这个时候就有另外一办法解决这个问题。就是收集日志,定义一堆分支,集群式分支,就会缓解数据输出愉而造成的堵塞。

kafka(发布订阅的)订阅flume发过来的数据。自己也可以编个程序也可以,所以flume有个瓶颈问题,很多企业不用flume而是直接自己编程序,使用kafka,因为kafka是scale语方编写的,所以不同版本之间不兼容,所以spark是什么版本的就用什么版本的kafka。

爬虫爬出来的数据给kafka

接下来配置环境:

首先配置一个监听文件的

flume最主要的是:

    agent:

            source:  type(监控文件,监控目录,thirft,avro,网络)

            channle(通道):  type:内存

            sink:             type:kafka,hdfs,mysql等等


1.打开后虚拟机,xshell上传文件




然后解压



在conf添加一个配置文件,文件名是自己随便写http://flume.apache.org 进入flume官网


然后配置a1.conf 文件:




 ./bin/flume-ng agent -c conf -f conf/aa.conf -n a1 -Dflume.root.logger=INFO,console  执行这句,记住一定要在bin目录下


我们测试一下:用telnet 虚拟机没有telnet所以连不上,我们用windows系统连拉,复制一个ssh通道


到执行bin 那个shell页看下有没有发过去,看到hellow 就成功了

接下来我们试着不观察网络,观察文件



vi  aa.conf


完成之后还是利用上方的方式把它启动

./bin/flume-ng agent -c conf -f conf/aa.conf -n a1 -Dflume.root.logger=INFO,console




只要往文件里边加内容就会被收走


以上是两种监控,一个网络,一个是文件,接下来实现监控目录:

首先新建一个test目录用来测试的


停止flume agent(ctrl+c),然后重新配置 aa.conf 文件

到官网上找到


往下看实例



还是用上方方法启动






被日志收集器收完了就重命名了


日志不是产生一条就收起,一天的日志,到1点时 把这个日志挪到这个目录,一天统一收走

猜你喜欢

转载自blog.csdn.net/baiyan_er/article/details/80057414