Flume 测试 Kafka 案例
Flume Kafka 测试案例,Flume 的配置。
a1.sources = s1
a1.channels = c1
a1.sinks = k1 a1.sources.s1.type = netcat
a1.sources.s1.bind = master
a1.sources.s1.port = 44444 a1.channels.c1.type = memory a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k1.topic = t1 # kafka topic 不需要加 k1.kafka.topic,直接去掉 kafka
a1.sinks.k1.brokerList = master:9092 # 新的使用 brokerList,旧的使用 kafka.bootstrap.servers a1.sources.s1.channels = c1
a1.sinks.k1.channel = c1
1. 启动 kafka。
kafka-server-start.sh config/server.properties
2. 创建 kafka topic,flume配置中的 topic 为 t1。
# 这里 --replication-factor 为1,是因为只启动了master上的kafka,从节点上面没有启动kafka,如果设置大于1的,需要将从节点的kafka也启动
# partitions 分区数量保持大于 replication-factor,分区大的话可以缓解数据过大的问题,解决内存不够,但是解决内存本质上还是需要从机器上解决。
kafka-topics.sh --create --zookeeper master:2181 --replication-factor 1 --partitions 2 --topic t1
3. 启动 flume。
flume-ng agent -c conf -f conf/kafka_test.conf -n a1 -Dflume.root.logger=INFO,console
4. 启动 kafka 的消费者,来观察看是否成功。
kafka-console-consumer.sh --bootstrap-server master:9092 --topic t1
5. 由于 flume 配置文件中监控的命令是 netcat,启动一个远程,来发送消息。
# 如果没有 telnet, 使用 yum install telnet 进行安装
# localhost 本机
# 端口 44444,是flume配置文件中指定的,flume启动就会启动对应的端口监听
telnet localhost 44444
6. 测试
telnet localhost 44444
> hello
>world
>nice
查看 kafka 的消费者窗口,会发现已经有了对应的内容
# kafka-console-consumer.sh --bootstrap-server master:9092 --topic t1
hello
world
nice
总结:一开始由于 flume 的配置文件没有写对,调试很久才调通,真是不应该。其次,flume启动之后要学会看对应的日志信息,比如启动flume后,就应该可以观察到kafka对应的topic,但是由于没有仔细看,发现前几次调试都是不通的,不论怎么做kafka 的消费者就是拿不到数据。但是最后发现如果 flume 配置文件不正确的话,启动 flume,监听的topic 是默认的 default-topic,所以最后问题出现在 flume 的配置文件上面,把对应的 flume 中关于 sink 部分的配置要注意,由于版本不一样有的配置需要做一点转换才能跑成功。一定要注意检查日志。
Flume 测试 Kafka 案例的更多相关文章
- 流量分析系统---flume(测试flume+kafka)
1.在flume官方网站下载最新的flume wget http://124.205.69.169/files/A1540000011ED5DB/mirror.bit.edu.cn/apach ...
- CentOS7搭建Flume与Kafka整合及基础操作与测试
前提 已完成Kafka的搭建,具体步骤参照CentOS7搭建Kafka单机环境及基础操作 Flume安装 下载 wget http://mirrors.tuna.tsinghua.edu.cn/apa ...
- flume整合kafka
# Please paste flume.conf here. Example: # Sources, channels, and sinks are defined per # agent name ...
- flume与kafka整合
flume与kafka整合 前提: flume安装和测试通过,可参考:http://www.cnblogs.com/rwxwsblog/p/5800300.html kafka安装和测试通过,可参考: ...
- Flume+LOG4J+Kafka
基于Flume+LOG4J+Kafka的日志采集架构方案 本文将会介绍如何使用 Flume.log4j.Kafka进行规范的日志采集. Flume 基本概念 Flume是一个完善.强大的日志采集工具, ...
- Flume和Kafka整合安装
版本号: RedHat6.5 JDK1.8 flume-1.6.0 kafka_2.11-0.8.2.1 1.flume安装 RedHat6.5安装单机flume1.6:http://b ...
- 解决Flume向Kafka多分区写数据
1 问题背景 Flume向kafka发布数据时,发现kafka接收到的数据总是在一个partition中,而我们希望发布来的数据在所有的partition平均分布 2 解决办法 Flume的官方文档 ...
- 使用flume将kafka数据sink到HBase【转】
1. hbase sink介绍 1.1 HbaseSink 1.2 AsyncHbaseSink 2. 配置flume 3. 运行测试flume 4. 使用RegexHbaseEventSeriali ...
- 大数据技术之_09_Flume学习_Flume概述+Flume快速入门+Flume企业开发案例+Flume监控之Ganglia+Flume高级之自定义MySQLSource+Flume企业真实面试题(重点)
第1章 Flume概述1.1 Flume定义1.2 Flume组成架构1.2.1 Agent1.2.2 Source1.2.3 Channel1.2.4 Sink1.2.5 Event1.3 Flum ...
随机推荐
- Python进阶(六)----装饰器
Python进阶(六)----装饰器 一丶开放封闭原则 开放原则: 增加一些额外的新功能 封闭原则: 不改变源码.以及调用方式 二丶初识装饰器 装饰器: 也可称装饰器函数,诠释开放封闭原则 ...
- vsftp 安装配置(被动模式)
vi /etc/vsftpd/vsftpd.conf vsftp配置末尾添加 pasv_enable=YES pasv_min_port=10000 pasv_max_port=10030 防火墙端口 ...
- Springboot html vue.js 前后分离 跨域 Activiti6 工作流 集成代码生成器 shiro 权限
官网:www.fhadmin.org 特别注意: Springboot 工作流 前后分离 + 跨域 版本 (权限控制到菜单和按钮) 后台框架:springboot2.1.2+ activiti6.0 ...
- DEDECMS文章标题显示不全的原因以及解决方法
首先这里说一下编码问题:UTF-8与GBK(通常为GB2312). GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准):GBK编码专门用来解决中文编码的,是双字节的 ...
- CentOS7安装MySQL5.7及Tomcat8.5
在CentOS7服务器上部署FR项目应用 一.安装CentOS-7_x86_64 1.CentOS7:带GUI的服务器(FTP服务器.JAVA平台.兼容性程序库.开发工具.安全性工具.系统管理工具): ...
- ZMQ应用
一. ZeroMQ概述 ZeroMQ是一种基于消息队列的多线程网络库,其对套接字类型.连接处理.帧.甚至路由的底层细节进行抽象,提供跨越多种传输协议的套接字.ZeroMQ是网络通信中新的一层,介于应 ...
- 网络空间安全基础篇(2)----wireshark
wireshrak是一款通过本地端口,来抓取通过以太网获取的文件包,包括SMB HTTP FTP TELNET 等包 在网络安全比赛中最常用的就是HTTP协议,TELNET协议,FTP协议,SMB协议 ...
- CentOS 7网络配置工具
CentOS 7网络配置工具 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.网卡命名机制 CentOS 6之前,网络接口使用连续号码命名:eth0.eth1等,当增加或删除网卡 ...
- W3C--BOM(1)知识梳理
<一>BOM浏览器对象模型 1. window 1.1 window.innerHeight浏览器窗口的内部高度,window.innerWidth浏览器窗口的内部宽度 (对于Inter ...
- 变长数组(variable-length array,VLA)(C99)
处理二维数组的函数有一处可能不太容易理解,数组的行可以在函数调用的时候传递,但是数组的列却只能被预置在函数内部.例如下面这样的定义: #define COLS 4 int sum3d(int ar[] ...