当前系统中produer配置request.timeout.ms=30000(30秒),但是broker端配置zookeeper.connection.timeout.ms=1000000,kafka集群中某台为leader的服务器宕机之后,broker在1000000ms之内不会触发rebalance,导致producer在30秒后出现超时 producer的回调方法中出现了 修改:调大(request.timeout.ms) 大于  (zookeeper.connection.timeout…
由于项目是springboot项目,在application.properties加入 logging.level.root=debug debug日志报错信息为kafka集群ip别名访问失败 在windows上配置ip别名 C:\Windows\System32\drivers\etc\hosts  …
1.报错:: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.NotLeaderForPartitionException: This server is not the leader for that topic-partition. 报错原因:producer在向kafka broker写的时候,刚好发生选举,本来是向broker0上写的,选举之后broker1成为leader,所以无法写成功,就…
1. 使用 KafkaProducer 发送消息,是按 batch 发送的,producer 首先把消息放入 ProducerBatch 中: org.apache.kafka.clients.producer.internals.ProducerBatch 2. KafkaProduer 类中有一个 Thread 属性,负责 IO,发送和接收数据: this.sender = new Sender(logContext, client, this.metadata, this.accumula…
Kafka 0.9版本对java client的api做出了较大调整,本文主要总结了Kafka 0.9在集群搭建.高可用性.新API方面的相关过程和细节,以及本人在安装调试过程中踩出的各种坑. 关于Kafka的结构.功能.特点.适用场景等,网上到处都是,我就不再赘述了,直接进入正文 Kafka 0.9集群安装配置 操作系统:CentOS 6.5 1. 安装Java环境 Zookeeper和Kafka的运行都需要Java环境,所以先安装JRE,Kafka默认使用G1垃圾回收器,如果不更改垃圾回收器…
第一步:准备 1. 操作系统 CentOS-7-x86_64-Everything-1511 2. 安装包 kafka_2.12-0.10.2.0.tgz zookeeper-3.4.9.tar.gz 3. Java 环境 Zookeeper 和 Kafka 的运行都需要 Java 环境,Kafka 默认使用 G1 垃圾回收器.如果不更改垃圾回收期,官方推荐使用 7u51 以上版本的 JRE .如果使用老版本的 JRE,需要更改 Kafka 的启动脚本,指定 G1 以外的垃圾回收器. 本文使用系…
第一:kafka的介绍,kafka官网:http://kafka.apache.org/ http://www.jasongj.com/2015/03/10/KafkaColumn1/ kafka的简单介绍: 1. kafka是一个流平台,所谓流平台: 允许发布和订阅记录流.在这方面类似消息队列和企业级的消息系统. 允许以容错的方式存储记录流. 允许以流的形式处理记录. 2.kafka相关必须明白一下几个概念: 1.producer: 生产者,发布消息到 kafka 集群中的服务或程序. Pro…
一. org.apache.kafka.common.errors.TimeoutException: Batch Expired 问题描述:通过java客户端访问kafka服务器,当生产者线程向kafka插入数据时候出现该错误 问题分析:批处理过期 1.检查kafkaip地址是否访问正常 telnet ip port 2. 正常情况下,检查配置文件是否配置正确 在config/server.properties中加入如下属性 advertised.host.name=你的ip地址 问题解决:如…
环境:三台虚拟机Host0,Host1,Host2 Host0:192.168.10.2 Host1:  192.168.10.3 Host2:  192.168.10.4 在三台虚拟机上配置zookeeper,具体配置详见CentOS中配置CDH版本的ZooKeeper 下载kafka:http://kafka.apache.org/downloads.html 我的kafka版本是kafka_2.10-0.8.2.0 在各个kafka节点上解压kafka&进入kafka目录 [root@Ho…
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.> 如何安装hadoop2.9.0请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二)安装hadoop2.9.0> 如何配置hadoop2.9.0 HA 请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十)安装hadoo…
背景:系统的数据量越来越大,日志不能再简单的文件的保存,如此日志将会越来越大,也不方便查找与分析,综合考虑下使用了flume来收集日志,收集日志后向kafka传递消息,下面给出具体的配置 # The configuration file needs to define the sources, # the channels and the sinks. # Sources, channels and sinks are defined per agent, # in this case call…
日志中出现以下异常信息,程序中断退出. 目前参考别人的修改下面的配置,原来使用的hostname,改成IP,再观察观察.  advertised.listeners=PLAINTEXT://192.168.1.101:9092  listeners一定要配置成为IP地址:如果配置为localhost或服务器的hostname,在使用java发送数据时可能会抛出异常:org.apache.kafka.common.errors.TimeoutException: Batch Expired .因为…
原文出自:http://www.jianshu.com/p/2db7abddb9e6 各种TimeoutException问题 会抛出org.apache.kafka.common.errors.TimeoutException:message可能为各种: Batch Expired Failed to update metadata after 60000 ms. ailed to update metadata after ... 原因 原因是发布到zookeeper的advertised.…
1.百度kafka+zookeeper+windows配置 1.1  zookeeper配置 dataDir=/tmp/zookeeper # the port at which the clients will connect clientPort= # disable the per-ip limit on the number of connections since this is a non-production config maxClientCnxns= 1.2 kafka ser…
本文介绍如何在springboot项目中集成kafka收发message. 1.先解决依赖 springboot相关的依赖我们就不提了,和kafka相关的只依赖一个spring-kafka集成包 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> <version>1.1.1.RELEASE<…
架构.分布式.日志队列,标题自己都看着唬人,其实就是一个日志收集的功能,只不过中间加了一个Kafka做消息队列罢了. kafka介绍 Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素. 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决. 特性 Kafka是一种高吞…
现象:kafka集群频繁挂掉 排查日志:查看日志文件[kafkaServer.out],发现错误日志:ERROR Shutdown broker because all log dirs in /tmp/kafka-logs have failed (kafka.log.LogManager) kafkaServer.out为全量日志,刚开始查分日志未查询到结果. 原因:集群上部署了多个Kafka borker,操作文件相同,冲突导致: 解决:修改其它borker配置文件[server.prop…
kafka是一个分布式的,可分区的,可备份的日志提交服务,它使用独特的设计实现了一个消息系统的功能. 由于最近项目升级,需要将spring的事件机制转变为消息机制,针对后期考虑,选择了kafka作为消息中间件. kafka的安装 这里为了快速搭建,选择用docker docker run -d -p 2181:2181 -p 9092:9092 -v /opt/kafka/server.properties:/opt/kafka_2.11-0.10.1.0/config/server.prope…
When we are talking about performance of Kafka Producer, we are really talking about two different things: latency: how much time passes from the time KafkaProducer.send() was called until the message shows up in a Kafka broker. throughput: how many…
在原有pom.xml依赖下新添加一下kafka依赖ar包 <!--kafka--> <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> <version>1.1.1.RELEASE</version> </dependency> <dependency&g…
application-test.properties #kafka kafka.consumer.zookeeper.connect=*:2181 kafka.consumer.servers=*:9092 kafka.consumer.enable.auto.commit=true kafka.consumer.session.timeout=6000 kafka.consumer.auto.commit.interval=1000 #保证每个组一个消费者消费同一条消息,若设置为earlie…
本文介绍如何在springboot项目中集成kafka收发message. 1.先解决依赖 springboot相关的依赖我们就不提了,和kafka相关的只依赖一个spring-kafka集成包 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> <version>1.1.1.RELEASE<…
Kafka的分区,相当于把一个Topic再细分成了多个通道(对应 多个线程) 部署的时候尽量做到一个消费者(线程)对应一个分区. 如何确定Kafka的分区数,key和consumer线程数,以及不消费问题解决 怎么确定分区数? Kafka官网上标榜自己是"high-throughput distributed messaging system",即一个高吞吐量的分布式消息引擎.那么怎么达到高吞吐量呢? Kafka在底层摒弃了Java堆缓存机制,采用了操作系统级别的页缓存,同时将随机写操…
最近项目需求用到了kafka信息中间件,在此做一次简单的记录,方便以后其它项目用到. 引入依赖 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency> 配置文件 kafka.consumer.servers=127.0.0.1:9092 kafka.consumer.ena…
When we are talking about performance of Kafka Producer, we are really talking about two different things: latency: how much time passes from the time KafkaProducer.send() was called until the message shows up in a Kafka broker. throughput: how many…
1.pom.xml添加依赖 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency> <dependency> <groupId>com.typesafe</groupId> <artifactId>config</art…
注:kafka消息队列默认采用配置消息主题进行消费,一个topic中的消息只能被同一个组(groupId)的消费者中的一个消费者消费. 1.在pom.xml依赖下新添加一下kafka依赖ar包 <!--kafka--> <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> <version&g…
kafka优势 可扩展:Kafka集群可以透明的扩展,增加新的服务器进集群. 高性能:Kafka性能远超过传统的ActiveMQ.RabbitMQ等,Kafka支持Batch操作. 容错性:Kafka每个Partition数据会复制到几台服务器,当某个Broker失效时,Zookeeper将通知生产者和消费者从而使用其他的Broker. 支持重复消费:新建一个consumer group就可以指定offset值开始消费 支持持久化:传统mq一般消费完毕就删除消息,kafka可以设置保存策略保存消…
阿里云防火墙关闭,并且配置规则.不然会导致访问不到服务. 问题一: Caused by: java.net.UnknownHostException: iZuf68tztea6l5ccdz7wemZ: iZuf68tztea6l5ccdz7wemZ: Name or service not known vi /etc/hosts 127.0.0.1 iZuf68tztea6l5ccdz7wemZ iZuf68tztea6l5ccdz7wemZ 自己的主机名 问题二: ERROR Error wh…
本章将介绍如何在Sybase下使用游标 因业务需要,要批量处理一些数据,sql需要用到循环,所以要使用游标,我写了一个简单的游标,sql如下 DECLARE my_Cursor CURSOR FOR SELECT c_name,n_age FROM T_USER --声明游标 OPEN my_Cursor--打开游标 ), @age INT --声明两个变量,用来接收游标的值 FETCH my_Cursor INTO @name,@age --把游标中的值赋给变量 BEGIN INSERT IN…