关闭

flume搭建

标签: flume
609人阅读 评论(0) 收藏 举报
分类:

jdk配置
/etc/profile 修改环境变量

export JAVA_HOME=/usr/java/jdk1.8.0_77
export HADOOP_HOME=/lj/hadoop-2.2.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

source /etc/profile

解压
tar -zxvf apache-flume-1.5.0-bin.tar.gz -C 路径

/lj/apache-flume-1.5.0-bin/conf
重命名 mv flume-env.sh.template flume-env.sh
flume-env.sh下配置
JAVA_HOME=/usr/java/jdk1.8.0_77

(注意:该路径和/etc/profile下的路径以及jdk的实际路径相同)

需要hadoop包,使用scp将
/lj/hadoop-2.2.0/share/hadoop/common/hadoop-common-2.2.0.jar
/lj/hadoop-2.2.0/share/hadoop/common/lib/commons-configuration-1.6.jar、hadoop-auth-2.2.0.jar、htrace-core-3.0.4.jar
/letv/data/hadoop-2.6.0/share/hadoop/hdfs/hadoop-hdfs-2.6.0.jar
拷贝到/lj/apache-flume-1.5.0-bin/lib下

将/lj/hadoop-2.2.0/etc/hadoop/{core-site.xml,hdfs-site.xml} 拷贝到/lj/apache-flume-1.5.0-bin/conf下

vim /etc/hosts

ip 主机名

然后创建要监听的目录mkdir /root/logs

启动
bin/flume-ng agent -n a4 -c conf -f conf/a4.conf -Dflume.root.logger=INFO,console

bin/flume-ng agent -n a2 -f /home/hadoop/a2.conf -c conf -Dflume.root.logger=INFO,console

-D指定运行时要打印在控制台的日志级别
INFO,Debug,warning

接下来将文件放入指定目录

配置文件log

#定义agent名, source、channel、sink的名称
log.sources = r1
log.channels = c1
log.sinks = k1

#具体定义source
log.sources.r1.type = spooldir
log.sources.r1.spoolDir = /letv/logs/test

#具体定义channel
log.channels.c1.type = memory
#容量 条
log.channels.c1.capacity = 10000
#事务容量
log.channels.c1.transactionCapacity = 100

#定义拦截器,为消息添加时间戳
#可以拦截无效数据
log.sources.r1.interceptors = i1
log.sources.r1.interceptors.i1.type = org.apache.flume.interceptor.TimestampInterceptor$Builder


#具体定义sink
log.sinks.k1.type = hdfs
#上层抽象,nameService,路由
#%Y%m%d 从拦截器得到时间
log.sinks.k1.hdfs.path = hdfs://ns1/nginx/%Y%m%d/ip
#前缀,随便起名字,名字是event-.时间戳
#log.sinks.k1.hdfs.filePrefix = ip-%Y%m%d
log.sinks.k1.hdfs.fileSuffix=.log
#纯文本
log.sinks.k1.hdfs.fileType = DataStream
#不按照条数生成文件
log.sinks.k1.hdfs.rollCount = 0
#两个条件满足其中一个就可以
#HDFS上的文件达到128M时生成一个文件
log.sinks.k1.hdfs.rollSize = 134217728
#HDFS上的文件达到60秒生成一个文件
log.sinks.k1.hdfs.rollInterval = 60

#组装source、channel、sink
log.sources.r1.channels = c1
log.sinks.k1.channel = c1

配置文件a2


#定义agent名, source、channel、sink的名称
a2.sources = r1
a2.channels = c1
a2.sinks = k1

#具体定义source
a2.sources.r1.type = exec
#tail -F 监视文件的增长
a2.sources.r1.command = tail -F /home/hadoop/a.log

#具体定义channel
a2.channels.c1.type = memory
a2.channels.c1.capacity = 1000
a2.channels.c1.transactionCapacity = 100

#具体定义sink
#logger是打印在控制台上
a2.sinks.k1.type = logger

#组装source、channel、sink
a2.sources.r1.channels = c1
a2.sinks.k1.channel = c1
0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:17440次
    • 积分:802
    • 等级:
    • 排名:千里之外
    • 原创:51篇
    • 转载:76篇
    • 译文:0篇
    • 评论:0条
    文章分类
    评论排行