安装flume并整合到kafka、sparkstreaming

一、安装后修改flume-env.sh 加入JAVA_HOME

我的版本是flume-1.8.0

二、以spooldir方式启动,写kafka_spool.conf

source、channel、sink概念:

Client:Client生产数据,运行在一个独立的线程。

  Event: 一个数据单元,消息头和消息体组成。(Events可以是日志记录、 avro 对象等。)
  Flow: Event从源点到达目的点的迁移的抽象。
  Agent: 一个独立的Flume进程,包含组件Source、 Channel、 Sink。(Agent使用JVM 运行Flume。每台机器运行一个agent,但是可以在一个agent中包含

      多个sources和sinks。)
  Source: 数据收集组件。(source从Client收集数据,传递给Channel)
  Channel: 中转Event的一个临时存储,保存由Source组件传递过来的Event。(Channel连接 sources 和 sinks ,这个有点像一个队列。)
  Sink: 从Channel中读取并移除Event, 将Event传递到FlowPipeline中的下一个Agent(如果有的话)(Sink从Channel收集数据,运行在一个独立线程。)

#example.conf: A single-node flume configuration
#test kafka sink with spooldir source
 
#Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
 
#Describe/configue the source
a1.sources.r1.type = spooldir
a1.sources.r1.channels = c1
a1.sources.r1.spoolDir = /opt/flume-1.8.0/logs
a1.sources.r1.fileHeader = true
 
#Describe the sink
a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
#设置kafka的主题topic
a1.sinks.k1.topic = top4
#设置消费者编码为UTF-8
a1.sinks.k1.custom.encoding=UTF-8
#绑定kafka主机以及端口号
a1.sinks.k1.kafka.bootstrap.servers = master:9092,slave1:9092,slave3:9092
#设置kafka序列化方式
a1.sinks.k1.serializer.class = kafka.serializer.StringEncoder
 
 
#use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
 
#Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

三、启动flume

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

四、启动sparkstreaming和kafka,注意topic为同一主题

参见之前的工作https://blog.csdn.net/weixin_41684423/article/details/115698206?spm=1001.2014.3001.5501

五、效果

致谢:https://www.cnblogs.com/qingyunzong/p/8994494.html

https://www.aboutyun.com//forum.php/?mod=viewthread&tid=8917&extra=page%3D1&page=1&

https://blog.csdn.net/a_drjiaoda/article/details/85003929

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值