文档章节

Flume+Kafka+SparkStreaming 最新最全整合

ericSM
 ericSM
发布于 2016/06/16 16:34
字数 777
阅读 2729
收藏 72


 

1.架构

第一步,Flume和Kakfa对接,Flume抓取日志,写到Kafka中

第二部,Spark Streaming读取Kafka中的数据,进行实时分析

本文首先使用Kakfa自带的消息处理(脚本)来获取消息,走通Flume和Kafka的对接

2.安装flume,kafka

flume install: http://my.oschina.net/u/192561/blog/692225

kafka install: http://my.oschina.net/u/192561/blog/692357

3.Flume和Kafka整合

3.1 两者整合优势

Flume更倾向于数据传输本身,Kakfa是典型的消息中间件用于解耦生产者消费者。

具体架构上,Agent并没把数据直接发送到Kafka,在Kafka前面有层由Flume构成的forward。这样做有两个原因:

Kafka的API对非JVM系的语言支持很不友好,forward对外提供更加通用的HTTP接口。forward层可以做路由、Kafka topic和Kafkapartition key等逻辑,进一步减少Agent端的逻辑。

数据有数据源到flume再到Kafka时,数据一方面可以同步到HDFS做离线计算,另一方面可以做实时计算。本文实时计算采用SparkStreaming做测试。
 

3.2 Flume和Kafka整合安装

1. 下载Flume和Kafka集成的插件,下载地址:

https://github.com/beyondj2ee/flumeng-kafka- plugin

将package目录中的flumeng-kafka-plugin.jar拷贝到Flume安装目录的lib目录下

2. 将Kakfa安装目录libs目录下的如下jar包拷贝到Flume安装目录的lib目录下

kafka_2.11-0.10.0.0.jar

scala-library-2.11.8.jar

metrics-core-2.2.0.jar

提取插件中的flume-conf.properties文件:修改如下:flume源采用exec

producer.sources.s.type = exec
producer.sources.s.command=tail -F -n+1 /home/eric/bigdata/kafka-logs/a.log
producer.sources.s.channels = c1

修改producer代理的topic为 HappyBirthDayToAnYuan

将配置放到 apache-flume-1.6.0-bin/conf/producer.conf中

 完整 producer.conf:   

#agentsection
producer.sources= s1
producer.channels= c1
producer.sinks= k1
#配置数据源
producer.sources.s1.type=exec
#配置需要监控的日志输出文件或目录
producer.sources.s1.command=tail -F -n+1 /home/eric/bigdata/kafka-logs/a.log

#配置数据通道
producer.channels.c1.type=memory
producer.channels.c1.capacity=10000
producer.channels.c1.transactionCapacity=100

#配置数据源输出
#设置Kafka接收器,此处最坑,注意版本,此处为Flume 1.6.0的输出槽类型
producer.sinks.k1.type= org.apache.flume.sink.kafka.KafkaSink
#设置Kafka的broker地址和端口号
producer.sinks.k1.brokerList=localhost:9092
#设置Kafka的Topic
producer.sinks.k1.topic=HappyBirthDayToAnYuan
#设置序列化方式
producer.sinks.k1.serializer.class=kafka.serializer.StringEncoder
#将三者级联
producer.sources.s1.channels=c1
producer.sinks.k1.channel=c1

3.3 启动kafka flume相关服务

启动ZK  bin/zookeeper-server-start.sh config/zookeeper.properties

启动Kafka服务 bin/kafka-server-start.sh config/server.properties

 

创建主题

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic HappyBirthDayToAnYuan

查看主题

bin/kafka-topics.sh --list --zookeeper localhost:2181

查看主题详情

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic HappyBirthDayToAnYuan

删除主题

bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test

创建消费者

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

启动flume

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

向flume发送数据:

echo "yuhai" >> a.log

kafka消费数据:

注意:当前文件内容删除,服务器重启,主题需重新创建,但是消费内容有落地文件,当前消费内容不消失.


 

 

 

 

© 著作权归作者所有

ericSM
粉丝 17
博文 138
码字总数 146709
作品 0
南京
项目经理
私信 提问
Spark Streaming结合Flume、Kafka最新最全日志分析

Spark Streaming结合Flume、Kafka最新最全日志分析 1.修改相应的配置文件 按照 http://my.oschina.net/sunmin/blog/692994 整合安装Flume+Kafka+SparkStreaming 将flume/conf/producer.conf将......

ericSM
2016/06/23
556
0
Flume+Kafka+Sparkstreaming日志分析

最近要做一个日志实时分析的应用,采用了flume+kafka+sparkstreaming框架,先搞了一个测试Demo,本文没有分析其架构原理。   简介:flume是一个分布式,高可靠,可用的海量日志聚合系统,k...

hblt-j
2018/07/04
0
0
mate + xmonad,初步搭建

最近闲的,折腾了很多的de和wm组合。之前也用了很久的纯wm,i3wm后者awesome,但是都有不同的缺陷,不一一赘述。 所以想试试看把tile window manage整合到xfce或者gnome下。 然后搜了一下文档...

Kyli
2016/08/16
73
0
8Manage全渠道O2O落成 打造企业全渠道管理生态链

新零售时代下,如何打通企业线上线下一体化管理,从而提高商家的销售、运营和管理效益是各大企业面临的问题。8Manage 全渠道O2O整合了电商运营技术服务,同时整合线下会员、门店销售、库存管...

玄学酱
2018/03/07
0
0
2016年最新spring4框架搭建视频教程

Spring4.0作为一个广泛使用的开源 框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。 Spring4.0致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以...

2846613430
2016/04/11
452
0

没有更多内容

加载失败,请刷新页面

加载更多

ngrok 外网映射工具

ngrok介绍 许多刚学java web的同学(包括我自己)肯定都非常好奇,如何在外网上访问自己做的项目,跟我们本地访问tomcat有什么区别? 今天就向大家介绍一个非常强大的外网映射工具:ngrok.ngrok可以...

edison_kwok
33分钟前
2
0
Spark Streaming的优化之路——从Receiver到Direct模式

          作者:个推数据研发工程师 学长 1 业务背景 随着大数据的快速发展,业务场景越来越复杂,离线式的批处理框架MapReduce已经不能满足业务,大量的场景需要实时的数据处理结果来...

个推
今天
4
0
壮丽70年·奋斗新时代|蒸妙集团熏蒸中会阴熏蒸的神奇好处

聚结相合之处为会。会阴居两阴间,为督、任、冲三脉的起点,三脉背出两阴之间,会聚阴部,因名会阴。会阴,经穴名。出《针灸甲乙经》。会阴别名屏翳、下极、金门。属任脉。在会阴部,男性当阴...

公益传承
今天
2
0
pentaho-kettle-8.2.0.0-R源码开发环境搭建

1.从Kettle官网下载源码,本文使用的是pentaho-kettle-8.2.0.0-R 下载地址:https://codeload.github.com/pentaho/pentaho-kettle/zip/8.2.0.0-R 2.打开eclipse,选择一个新的工作空间,然后设...

gq_2010
今天
1
0
lua web快速开发指南(7) - 高效的接口调用 - httpc库

httpc库基于cf框架都内部实现的socket编写的http client库. httpc库内置SSL支持, 在不使用代理的情况下就可以请求第三方接口. httpc支持header、args、body、timeout请求设置, 完美支持各种h...

水果糖的小铺子
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部