
kafka
mnasd
这个作者很懒,什么都没留下…
展开
-
Kafka学习之路 (一)Kafka的简介
目录一、简介 1.1 概述 1.2 消息系统介绍 1.3 点对点消息传递模式 1.4 发布-订阅消息传递模式 二、Kafka的优点 2.1 解耦 2.2 冗余(副本) 2.3 扩展性 2.4 灵活性&峰值处理能力 2.5 可恢复性 2.6 顺序保证 2.7 缓冲 2.8 异步通信 三、常用Message Queue对比 3.1...转载 2018-09-17 14:10:02 · 170 阅读 · 0 评论 -
Kafka安装配置测试
Kafka的整体架构:本文中的配置:在两台机器Node1和Node2上,分别部署了两个broker,Zookeeper使用的是单独的ZK集群。在每个机器上下载并解压kafka_2.10-0.8.2.1http://kafka.apache.org/downloads.htmlKafka配置Node1:ip为 172.16.212.17 cd $KAF...转载 2018-09-19 10:20:46 · 218 阅读 · 0 评论 -
Kafka Java API实现的简单Producer和Consumer
本文使用简单的Java API模拟Kafka的producer和consumer,其中,procuder从一个文本文件中逐行读取内容,然后发送到Kafka,consumer则从Kafka中读取内容并在控制台打印。Java API Producer package com.lxw1234.kafka; import java.io.BufferedReader; impor...转载 2018-09-19 10:23:20 · 1862 阅读 · 0 评论 -
Kafka分区机制介绍与示例
Kafka中可以将Topic从物理上划分成一个或多个分区(Partition),每个分区在物理上对应一个文件夹,以”topicName_partitionIndex”的命名方式命名,该文件夹下存储这个分区的所有消息(.log)和索引文件(.index),这使得Kafka的吞吐率可以水平扩展。生产者在生产数据的时候,可以为每条消息指定Key,这样消息被发送到broker时,会根据分区规则选择被存...转载 2018-09-19 10:29:10 · 115 阅读 · 0 评论 -
利用Flume拦截器(interceptors)实现Kafka Sink的自定义规则多分区写入
我们目前的业务场景如下:前端的5台日志收集服务器产生网站日志,使用Flume实时收集日志,并将日志发送至Kafka,然后Kafka中的日志一方面可以导入到HDFS,另一方面供实时计算模块使用。前面的文章《Kafka分区机制介绍与示例》介绍过Kafka的分区机制。我们对Kafka中存储日志的Topic指定了多个分区,默认情况下,Kafka Sink在收到events之后,将会随机选择一个该Top...转载 2018-09-19 13:42:00 · 386 阅读 · 0 评论 -
Kafka主要参数详解
系统参数#唯一标识在集群中的ID,要求是正数。broker.id=0#服务端口,默认9092port=9092#监听地址host.name=debugo01# 处理网络请求的最大线程数num.network.threads=2# 处理磁盘I/O的线程数num.io.threads=8# 一些后台线程数background.threads = 4# 等待IO线程处理的请...转载 2018-09-19 14:14:43 · 308 阅读 · 0 评论 -
使用Log4j将程序日志实时写入Kafka
很多应用程序使用Log4j记录日志,如何使用Kafka实时的收集与存储这些Log4j产生的日志呢?一种方案是使用其他组件(比如Flume,或者自己开发程序)实时监控这些日志文件,然后发送至Kafka。而另外一种比较便捷的方案是使用Kafka自带的Log4jAppender,在Log4j配置文件中进行相应的配置,即可完成将Log4j产生的日志实时发送至Kafka中。本文以Kafka0.8.2为例...转载 2018-09-19 14:19:00 · 1329 阅读 · 0 评论 -
Flume中同时使用Kafka Source和Kafka Sink的Topic覆盖问题
如果在一个Flume Agent中同时使用Kafka Source和Kafka Sink来处理events,便会遇到Kafka Topic覆盖问题,具体表现为,Kafka Source可以正常从指定的Topic中读取数据,但在Kafka Sink中配置的目标Topic不起作用,数据仍然会被写入到Source中指定的Topic中。比如:在Agent中的Kafka Source配置Topic为:...转载 2018-09-19 14:22:16 · 697 阅读 · 0 评论 -
kafka数据迁移实践
本文重点介绍kafka的两类常见数据迁移方式:1、broker内部不同数据盘之间的分区数据迁移;2、不同broker之间的分区数据迁移。一、broker 内部不同数据盘之间进行分区数据迁移1.1 背景介绍最近,腾讯云的一个重要客户发现kafka broker内部的topic分区数据存储分布不均匀,导致部分磁盘100%耗尽,而部分磁盘只有40%的消耗量。分析原因,发现存在部分topi...转载 2018-09-19 15:21:01 · 2972 阅读 · 0 评论 -
Kafka架构和原理深度剖析
背景介绍Kafka简介Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下:以时间复杂度为O(1)的方式提供消息持久化能力,并保证即使对TB级以上数据也能保证常数时间的访问性能 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输 支持Kafka Server间的消息分区,及分布式消息消费,同时保证每个partition内的消息顺序传输 同...转载 2018-09-19 10:17:14 · 138 阅读 · 0 评论 -
Kafka跨集群同步工具——MirrorMaker (consumer.config & producer.config )
MirrorMaker是为解决Kafka跨集群同步、创建镜像集群而存在的;下图展示了其工作原理。该工具消费源集群消息然后将数据重新推送到目标集群。MirrorMaker使用方式启动mirror-maker程序需要一个或多个consumer配置文件、一个producer配置文件是必须的其他参数是可选的。kafka-run-class.sh kafka.tools.MirrorMa...转载 2018-09-18 17:05:47 · 3172 阅读 · 0 评论 -
Kafka Tools
参考,https://cwiki.apache.org/confluence/display/KAFKA/System+Toolshttps://cwiki.apache.org/confluence/display/KAFKA/Replication+toolshttp://kafka.apache.org/documentation.html#quickstarthttp://...转载 2018-09-18 16:55:07 · 1829 阅读 · 0 评论 -
Kafka学习之路 (二)Kafka的架构
目录一、Kafka的架构 二、Topics和Partition 三、Producer消息路由 四、Consumer Group 五、Push vs. Pull 六、Kafka delivery guarantee 正文回到顶部一、Kafka的架构如上图所示,一个典型的Kafka集群中包含若干Producer(可以是web前端产生的Page View,或者是服务器...转载 2018-09-17 14:21:34 · 137 阅读 · 0 评论 -
kafka 配置优化
因此Kafka提供两种策略删除旧数据。一是基于时间,二是基于Partition文件大小。例如可以通过配置$KAFKA_HOME/config/server.properties,让Kafka删除一周前的数据,也可在Partition文件超过1GB时删除旧数据,配置如下所示:# The minimum age of a log file to be eligible for deletion...原创 2018-09-17 15:51:41 · 1536 阅读 · 0 评论 -
Kafka学习之路 (三)Kafka的高可用
目录一、高可用的由来 1.1 为何需要Replication 1.2 Leader Election 二、Kafka HA设计解析 2.1 如何将所有Replica均匀分布到整个集群 2.2 Data Replication(副本策略) 三、HA相关ZooKeeper结构 3.1 admin 3.2 broker 3.3 controller 四、pr...转载 2018-09-17 15:52:46 · 137 阅读 · 0 评论 -
Kafka学习之路 (四)Kafka的安装
目录一、下载 二、安装前提(zookeeper安装) 三、安装 2.1 上传解压缩 2.2 修改配置文件 2.3 将kafka的安装包分发到其他节点 2.4 创建软连接 2.5 修改环境变量 三、启动 3.1 首先启动zookeeper集群 3.2 启动Kafka集群服务 3.3 创建的topic 3.4 查看topic副本信息 3.5 查看已经创...转载 2018-09-17 16:06:21 · 138 阅读 · 0 评论 -
Kafka学习之路 (五)Kafka在zookeeper中的存储
目录一、Kafka在zookeeper中存储结构图 二、分析 2.1 topic注册信息 2.2 partition状态信息 2.3 Broker注册信息 2.4 Controller epoch 2.5 Controller注册信息 2.6 补充Consumer and Consumer group 2.7 Consumer均衡算法 2.8 Consumer注...转载 2018-09-17 17:03:14 · 207 阅读 · 0 评论 -
kafka集群中jmx端口设置
jmx端口主要用来监控kafka集群的。在启动kafka的脚本kafka-server-start.sh中找到堆设置,添加export JMX_PORT="9999"if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" export JMX_PORT="9999"fi...原创 2018-09-18 14:04:18 · 5266 阅读 · 0 评论 -
kafka数据同步/镜像工具 kafka mirror maker
默认安装kafka后有个Kafka MirrorMaker服务,无法启动。 2016-08-05 15:20:50,333 INFO kafka.tools.MirrorMaker$: Starting mirror maker2016-08-05 15:20:50,356 ERROR kafka.tools.MirrorMaker$: Exception when starting ...转载 2018-09-18 15:41:58 · 9466 阅读 · 1 评论 -
kafka_0.10.1.0监控及管理
1. kafka监控kafka自身没有监控管理页面,无论是进行一些管理操作还是状态的监控都要命令加一大堆记不住的参数,实在是很不方便,不过好在在github上开源了一些工具,在kafka的生态系统中也有提及到:Kafka Manager: 都是以表格的形式展现数据,比较方便用来管理kafka,例如topic的创建、删除以及分区的管理等。 Kafka Offset Monitor: 监控消...转载 2018-09-18 16:49:19 · 1294 阅读 · 0 评论 -
kafka如何彻底删除topic及数据
前言:删除kafka topic及其数据,严格来说并不是很难的操作。但是,往往给kafka 使用者带来诸多问题。项目组之前接触过多个开发者,发现都会偶然出现无法彻底删除kafka的情况。本文总结多个删除kafka topic的应用场景,总结一套删除kafka topic的标准操作方法。step1:如果需要被删除topic 此时正在被程序 produce和consume,则这些生产和消费...转载 2018-09-19 15:31:19 · 1968 阅读 · 0 评论