Flume入门学习

1.Flume是一个可收集例如日志,事件等数据资源,并将这些数量庞大的数据从各项数据资源中集中起来存储(HBase/Hadoop)的工具/服务。
Flume具有高可用,分布式,配置工具.
Cloud\facbook\WebServers\Twitter(Log/Event data) ->Flume ->HDFS/HBase

2.Flume Agent
Flume内部有一个或者多个Agent,然而对于每一个Agent来说,它就是一个独立的守护进程(JVM),
它从客户端接收数据,然后迅速将获取的数据传递给下一个目的节点sink,或者agent。
Flume Agent内部组件包括Source、Channel、Sink。
Source:从数据发生器接收数据,并将接收的数据以Flume的event格式传递给一个或者多个通道(channel)。
Flume提供多种数据的接收方式,比如Avro,Thrift,twitter等。
Channel:Channel是一种短暂的存储容器,它将从source处接收到的event格式的数据缓存起来,直到它们被sinks消费掉,它在source和sink之间起到桥梁的作用,
channel是一个完整的事务,保证了数据在收发的时候一致性,并且它可以和任意数量的source和sink链接,支持的类型有JDBC channel,File System channel,Memort channel等。
sink:sink将数据存储到集中存储器,比如Hbase、HDFS。它从channals消费数据(events)并将其传递给目标地。目标地可能是另一个sink,也可能是HDFS,Hbase。
流程如下:
WebServer -> Source -> Channel -> Sink -> HDFS
一个Source也可以对接多个Channel,有多个Sink
3.
Flume Agent-> Channel ->Slink ->HDFS

安装过程
1. 解压转移
tar -zxvf apache-flume-1.6.0-bin.tar.gz
mv apache-flume-1.6.0-bin  /usr/local/flume

2.配置
cd /usr/local/flume/conf
vim flume-conf.properties 修改配置文件,内容如下:
#agent定义
test1.sources  = s1
test1.channels = c1
test1.sinks = s1
#配置源
test1.sources.s1.type = org.apache.flume.source.kafka.KafkaSource
test1.sources.s1.zookeeperConnect = 192.168.50.104:2181
test1.sources.s1.topic = test1
test1.sources.s1.groupId = test1
test1.sources.s1.channels = c1
test1.sources.s1.interceptors = i1
test1.sources.s1.interceptors.i1.type = timestamp
test1.sources.s1.kafka.consumer.timeout.ms = 1000
#配置通道
test1.channels.c1.type = memory
test1.channels.c1.capacity = 1000
test1.channels.c1.transactionCapacity = 1000
#配置sink
test1.sinks.s1.type = hdfs
test1.sinks.s1.hdfs.path = /data/kafka/test1/%y-%m-%d
test1.sinks.s1.hdfs.fileType = DataStream
test1.sinks.s1.hdfs.rollSize = 0
test1.sinks.s1.hdfs.rollCount = 0
test1.sinks.s1.hdfs.rollInterval = 30
test1.sinks.s1.channel = c1

3. 执行测试
启动kafka
cd usr/local/kafka/bin
./kafka-server-start.sh ../config/server.properties

启动
./kafka-console-producer.sh --topic test1 --broker-list 192.168.50.104:9092

-n为agent的名字,-c配置文件的路径,-f是指定配置文件。将日志输出。-Dflume.root.logger=INFO,console为日志的配置项
/usr/local/flume/bin/flume-ng agent -c /usr/local/flume/conf -f /usr/local/flume/conf/flume-conf.properties -n test1 -Dflume.root.logger=INFO,console

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值