最近公司的zk的down掉了,  storm job 重启的时候报出 kafka.common.OffsetOutOfRangeException 异常 网上查询了一些朋友的做法, 自己也看了一下代码, 最终还是解决了 原因: zk挂掉的这几天, kafka中之前的数据已经被清掉了, 但是zk中保存的offset还是几天之前的, 导致KafkaSpout要获取的offset超过了当前kafka的offset, 就像ArrayIndexOutOfRangeException一样 解决方案: Kaf…
Kafka提供了两种Consumer API,分别是:High Level Consumer API 和 Lower Level Consumer API(Simple Consumer API) High Level Consumer API:高度抽象的Kafka消费者API:将底层具体获取数据.更新offset.设置偏移量等操作屏蔽掉,直接将操作数据流的处理工作提供给编写程序的人员.优点是:操作简单:缺点:可操作性太差,无法按照自己的业务场景选择处理方式.(入口类:ConsumerConne…
[Spark][kafka]kafka 生产者,消费者 互动例子 # pwd/usr/local/kafka_2.11-0.10.0.1/bin 创建topic:# ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic device_statusWARNING: Due to limitations in metric names, topics wi…
Kafka提供了两种Consumer API,分别是:High Level Consumer API 和 Lower Level Consumer API(Simple Consumer API) High Level Consumer API:高度抽象的Kafka消费者API:将底层具体获取数据.更新offset.设置偏移量等操作屏蔽掉,直接将操作数据流的处理工作提供给编写程序的人员.优点是:操作简单:缺点:可操作性太差,无法按照自己的业务场景选择处理方式.(入口类:ConsumerConne…
Zookeeper与Kafka Kafka Kafka SocketServer是基于Java NIO开发的,采用了Reactor的模式(已被大量实践证明非常高效,在Netty和Mina中广泛使用).Kafka Reactor的模式包含三种角色:Acceptor;Processor :Handler:Kafka Reacator包含了1个Acceptor负责接受客户端请求,N个Processor线程负责读写数据(为每个Connection创建出一个Processor去单独处理,每个Process…
------------恢复内容开始------------ Kafka启动遇到ERROR Exiting Kafka due to fatal exception (kafka.Kafka$) 解决办法 从kafka的根目录启动 bin/kafka-server-start.sh config/server.properties ------------恢复内容结束------------…
环境: kafka  0.10 spark  2.1.0 zookeeper  3.4.5-cdh5.14.0 公司阿里云测试机,十月一放假前,没有在继续消费,假期过后回来再使用spark streaming消费某个消费组下的kafka时报错如下: As I regularly kill the servers running Kafka and the producers feeding it (yes, just for fun), things sometimes go a bit cra…
ConsumerRecords<String, String> records = consumer.poll(100);   /** * Fetch data for the topics or partitions specified using one of the subscribe/assign APIs. It is an error to not have * subscribed to any topics or partitions before polling for da…
Kafka官方介绍:Kafka是一个分布式的流处理平台(0.10.x版本),在kafka0.8.x版本的时候,kafka主要是作为一个分布式的.可分区的.具有副本数的日志服务系统(Kafka™ is a distributed, partitioned, replicated commit log service), 具有高水平扩展性.高容错性.访问速度快.分布式等特性:主要应用场景是:日志收集系统和消息系统 数据在Kafka上的分布简单描述图: Kafka基本术语 ==============…
Kafka是由LinkedIn公司开发的,之后贡献给Apache基金会,成为Apache的一个顶级项目,开发语言为Scala.提供了各种不同语言的API,具体参考Kafka的cwiki页面: Kafka的安装方式主要分为三种:单机安装.伪分布式安装.分布式安装:安装基本配置一样,区别在于:单机安装是在一台服务器上只安装一个broker服务,伪分布式安装是指在一台服务器上安装多个broker服务,分布式安装是指具有多台服务器,至于每天服务器上的broker服务数量可选:所以这里只介绍伪分布式安装的…
一个Kafka的Message由一个固定长度的header和一个变长的消息体body组成 header部分由一个字节的magic(文件格式)和四个字节的CRC32(用于判断body消息体是否正常)构成.当magic的值为1的时候,会在magic和crc32之间多一个字节的数据:attributes(保存一些相关属性,比如是否压缩.压缩格式等等):如果magic的值为0,那么不存在attributes属性 body是由N个字节构成的一个消息体,包含了具体的key/value消息 存储在磁盘的日志采…
一.Kafka数据收集机制 Kafka集群中由producer负责数据的产生,并发送到对应的Topic:Producer通过push的方式将数据发送到对应Topic的分区 Producer发送到Topic的数据是有key/value键值对组成的,Kafka根据key的不同的值决定数据发送到不同的Partition,默认采用Hash的机制发送数据到对应Topic的不同Partition中,配置参数为{partitioner.class} Producer发送数据的方式分为sync(同步)和asyn…
Kafka支持的基本命令位于${KAFKA_HOME}/bin文件夹中,主要是kafka-topics.sh命令:Kafka命令参考页面: kafka-0.8.x-帮助文档  -1. 查看帮助信息 bin/kafka-topics.sh --help -2. 创建Topic bin/kafka-topics.sh --create --topic test0 --zookeeper 192.168.187.146:2181 --config max.message.bytes=12800000…
kafka 的topic 创建和删除试验 zookeeper和kafka 的安装,参考: http://www.cnblogs.com/caoguo/p/5958608.html 参考上述URL后,在个人的伪分布式环境下,安装了kafka 确认 zookeeper 为运行状态: $ service zookeeper-server statuszookeeper-server is running 启动kafka:[training@localhost ~]$ /etc/init.d/kafka…
一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险.许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕. 3.扩展性: 因为消息队列解耦了你的处理过程,所以增大消息入队和处理的频率是很容易的,只要另外增加处理过程即可. 4.…
性能测试及集群监控工具 Kafka提供了非常多有用的工具,如Kafka设计解析(三)- Kafka High Availability (下)中提到的运维类工具——Partition Reassign Tool,Preferred Replica Leader Election Tool,Replica Verification Tool,State Change Log Merge Tool.本章将介绍Kafka提供的性能测试工具,Metrics报告工具及Yahoo开源的Kafka Manag…
High Level Consumer 很多时候,客户程序只是希望从Kafka读取数据,不太关心消息offset的处理.同时也希望提供一些语义,例如同一条消息只被某一个Consumer消费(单播)或被所有Consumer消费(广播).因此,Kafka High Level Consumer提供了一个从Kafka消费数据的高层抽象,从而屏蔽掉其中的细节并提供丰富的语义. Consumer Group High Level Consumer将从某个Partition读取的最后一条消息的offset存…
Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cloudera.Apache Storm.Spark都支持与Kafka集成.InfoQ一直在紧密关注Kafka的应用以及发展,“Kafka剖析”专栏将会从架构设计.实现.应用场景.性能等方面深度解析Kafka. 本文在上篇文章基础上,更加深入讲解了Kafka的HA机制,主要阐述了HA相关各种场景,如Broker failover.Controll…
Kafka在0.8以前的版本中,并不提供High Availablity机制,一旦一个或多个Broker宕机,则宕机期间其上所有Partition都无法继续提供服务.若该Broker永远不能再恢复,亦或磁盘故障,则其上数据将丢失.而Kafka的设计目标之一即是提供数据持久化,同时对于分布式系统来说,尤其当集群规模上升到一定程度后,一台或者多台机器宕机的可能性大大提高,对Failover要求非常高.因此,Kafka从0.8开始提供High Availability机制.本文从Data Replic…
Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cloudera.Apache Storm.Spark都支持与Kafka集成.InfoQ一直在紧密关注Kafka的应用以及发展,“Kafka剖析”专栏将会从架构设计.实现.应用场景.性能等方面深度解析Kafka. 背景介绍 Kafka创建背景 Kafka是一个消息系统,原本开发自LinkedIn,用作LinkedIn的活动流(Activity St…
根据业务需要可以使用Kafka提供的Java Producer API进行产生数据,并将产生的数据发送到Kafka对应Topic的对应分区中,入口类为:Producer Kafka的Producer API主要提供下列三个方法: public void send(KeyedMessage<K,V> message) 发送单条数据到Kafka集群 public void send(List<KeyedMessage<K,V>> messages) 发送多条数据(数据集)到…
-- kafka路径示例 /opt/cloudera/parcels/KAFKA/bin-- kafka启动./kafka-server-start.sh -daemon ../config/server.properties -- 帮助信息 kafka-topics --help -- 查看topic kafka-topics --list -zookeeper hadoop02:9092,hadoop03:9092,hadoop04:9092 --topic MQ_TN_BIG_DATA_C…
一个Topic中的所有数据分布式的存储在kafka集群的所有机器(broker)上,以分区(partition)的的形式进行数据存储:每个分区允许存在备份数据/备份分区(存储在同一kafka集群的其它broker上的分区) 每个数据分区在Kafka集群中存在一个broker节点上的分区叫做leader,存储在其它broker上的备份分区叫做followers:只有leader节点负责该分区的数据读写操作,followers节点作为leader节点的热备节点,从leader节点备份数据:当lead…
一个Topic分为多个Partition来进行数据管理,一个Partition中的数据是有序.不可变的,使用偏移量(offset)唯一标识一条数据,是一个long类型的数据 Partition接收到producer发送过来数据后,会产生一个递增的offset偏移量数据,同时将数据保存到本地的磁盘文件中(文件内容追加的方式写入数据):Partition中的数据存活时间超过参数值(log.retention.{ms,minutes,hours},默认7天)的时候进行删除(默认) Consumer根据…
Understanding When to use RabbitMQ or Apache Kafka https://content.pivotal.io/rabbitmq/understanding-when-to-use-rabbitmq-or-apache-kafka Performance Kafka shines here by design: 100k/sec performance is often a key driver for people choosing Apache K…
根据flume官网:当kafka涉及kerberos认证: 涉及两点配置,如下: 配置一:见下实例中红色部分 配置conf实例: [root@gz237-107 conf]# cat flume_slipstream.conf a1.sources =r1 a1.sinks = k1 a1.channels = c1   # 定义source a1.sources.r1.type = avro a1.sources.r1.bind = 0.0.0.0 a1.sources.r1.port = 8…
Mysql配置读写数据库 ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operation 原因之前mysql的vi /etc/my.cnf 修改配置没有重启() mysql从服务器 #指定从库serverid server-id=2 保存退出 service mysqld restart…
1.刚才未启动zookeeper集群的时候,直接启动kafka脚本程序,kafka报错了,但是进程号启动起来来,再次启动出现如下所示的问题,这里先将进程号杀死,再启动脚本程序. [hadoop@slaver1 script_hadoop]$ kafka-start.sh start kafkaServer... [-- ::,] INFO Verifying properties (kafka.utils.VerifiableProperties) [-- ::,] INFO Property…
不多说,直接上干货! 问题详情 执行bin/kafka-server-start.sh config/server.properties 时, [kfk@bigdata-pro03 kafka_2.-0.9.0.0]$ bin/kafka-server-start.sh config/server.properties [-- ::,] INFO KafkaConfig values: request.timeout.ms = log.roll.hours = inter.broker.prot…
ERROR [KafkaServer id=1] Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)at kafka.network.Acceptor.openServerSocket(SocketServer.scala:404) at kafka.network.Acceptor.<init>(SocketServer.scala:308) at kafka.netwo…