设为首页 加入收藏

TOP

Flume集群的的配置
2018-11-13 16:14:16 】 浏览:115
Tags:Flume 集群 的的 配置

一、上传,解压

	1.cd /usr/flume  (没有创建一个)
	2.解压
		tar -zxvf apache-flume-1.8.0-bin.tar.gz
		
		[root@zhiyou01 flume]# ls
		apache-flume-1.8.0-bin  apache-flume-1.8.0-bin.tar.gz

二、修改配置文件 flume-env.sh

	1.先将flume-env.sh,template 改为flume-env.sh
		mv flume-env.sh.template flume-env.sh
	2.修改flume-env.sh
		vi flume-env.sh
		该JAVA_HOME路径,对应自己的jdk路径
		export JAVA_HOME=/usr/java/jdk1.8.0_141

三、4.使用flume监听目录

	1.cd /user/flume/apache-flume-1.8.0-bin/conf
	2.vi flume.conf
	3.在里面添加内容
		# 指定Agent的组件名称
		a1.sources = r1
		a1.sinks = k1
		a1.channels = c1
		
		# 指定Flume source(要监听的路径)
		a1.sources.r1.type = spooldir
		#先创建这个目录(根目录下)
		a1.sources.r1.spoolDir = /logs      

		# 指定Flume sink
		a1.sinks.k1.type = logger
		
		# 指定Flume channel
		a1.channels.c1.type = memory
		a1.channels.c1.capacity = 1000
		a1.channels.c1.transactionCapacity = 100
		
		# 绑定source和sink到channel上
		a1.sources.r1.channels = c1
		a1.sinks.k1.channel = c1

四、4.2.启动flume

		(注意所在的目录,里面的flume.conf和上面床架的要一致)
		[root@master apache-flume-1.8.0-bin]# bin/flume-ng agent --conf conf --conf-file conf/flume.conf  --name a1  -Dflume.root.logger=INFO,console

五、测试(Flume监听了一个目录,如果咱们向这个目录里面添加内容,flume应该给监听到;)
在这里插入图片描述
在这里插入图片描述
如图即成功
六、把zhiyou01的flume拷贝到zhiyou02,zhiyou03下

	[root@zhiyou01 apache-flume-1.8.0-bin]# scp -r  /usr/flume/ root@zhiyou02:/usr/flume/
	[root@zhiyou01 apache-flume-1.8.0-bin]# scp -r  /usr/flume/ root@zhiyou03:/usr/flume/

七、zhiyou01(主节点)的配置文件 z01-z03.conf(中文乱码的话,不用复制带#号的)

##主要作用是监听目录中的新增数据,采集到数据之后,输出到avro (输出到agent)
##    注意:Flume agent的运行,主要就是配置source channel sink
##  下面的a1就是agent的代号,source叫r1 channel叫c1 sink叫k1
a1.sources = r1
a1.sinks = k1
a1.channels = c1

#具体定义source  
a1.sources.r1.type = spooldir
#先创建此目录,保证里面空的  
a1.sources.r1.spoolDir = /logs 

#对于sink的配置描述 使用avro日志做数据的消费(zhiyou03是你第二个子节点名称)
a1.sinks.k1.type = avro
a1.sinks.k1.hostname = zhiyou03
a1.sinks.k1.port = 44444

#对于channel的配置描述 使用文件做数据的临时缓存 这种的安全性要高
a1.channels.c1.type = file
a1.channels.c1.checkpointDir = /home/uplooking/data/flume/checkpoint
a1.channels.c1.dataDirs = /home/uplooking/data/flume/data

#通过channel c1将source r1和sink k1关联起来
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

八、zhiyou02(第一个字子节点)的配置文件:z02-z03.conf

	和zhiyou01的是一模一样的;

九、zhiyou03的配置文件: z03-hdfs.conf

	##		获取zhiyou01,02上的数据,聚合起来,传到hdfs上面
	##    注意:Flume agent的运行,主要就是配置source channel sink
	##  下面的a1就是agent的代号,source叫r1 channel叫c1 sink叫k1
	a1.sources = r1
	a1.sinks = k1
	a1.channels = c1
	
	#对于source的配置描述 监听avro(zhiyou03第二个子节点名称)
	a1.sources.r1.type = avro
	a1.sources.r1.bind = zhiyou03
	a1.sources.r1.port = 44444
	
	#定义拦截器,为消息添加时间戳  
	a1.sources.r1.interceptors = i1  
	a1.sources.r1.interceptors.i1.type = org.apache.flume.interceptor.TimestampInterceptor$Builder
	
	#对于sink的配置描述 传递到hdfs上面
	a1.sinks.k1.type = hdfs  
	                   #集群的nameservers名字
	                  #单节点的直接写:hdfs://zhiyou01:9000/xxx
	a1.sinks.k1.hdfs.path = hdfs://zhiyou01:9000/flume/%Y%m%d  
	a1.sinks.k1.hdfs.filePrefix = events-  
	a1.sinks.k1.hdfs.fileType = DataStream  
	#不按照条数生成文件  
	a1.sinks.k1.hdfs.rollCount = 0  
	#HDFS上的文件达到128M时生成一个文件  
	a1.sinks.k1.hdfs.rollSize = 134217728  
	#HDFS上的文件达到60秒生成一个文件  
	a1.sinks.k1.hdfs.rollInterval = 60  
	
	#对于channel的配置描述 使用内存缓冲区域做数据的临时缓存
	a1.channels.c1.type = memory
	a1.channels.c1.capacity = 1000
	a1.channels.c1.transactionCapacity = 100
	
	#通过channel c1将source r1和sink k1关联起来
	a1.sources.r1.channels = c1
	a1.sinks.k1.channel = c1  

十、7.6.启动(先启动zhiyou03,再启zhiyou01,zhiyou02)不然会报错

	(命令比较长,文件名字对应好)
	zhiyou03    bin/flume-ng agent -n a1 -c conf -f conf/z03-hdfs.conf -Dflume.root.logger=INFO,console 

	zhiyou02    bin/flume-ng agent -n a1 -c conf -f conf/z01-z03.conf -Dflume.root.logger=INFO,console 
	
	zhiyou01    bin/flume-ng agent -n a1 -c conf -f conf/z02-z03.conf -Dflume.root.logger=INFO,console 

十一、测试

	在zhiyou01,或者zhiyou02的logs里面添加内容,观察hdfs
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇flume到spark-streaming时遇到Fai.. 下一篇flume采集日志到HDFS中再导入到hi..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目