一.概述 Kakfa起初是由LinkedIn公司开发的一个分布式的消息系统,后成为Apache的一部分,它使用Scala编写,以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cloudera.Apache Storm.Spark等都支持与Kafka集成.   Kafka凭借着自身的优势,越来越受到互联网企业的青睐,唯品会也采用Kafka作为其内部核心消息引擎之一.Kafka作为一个商业级消息中间件,消息可靠性的重要性可想而知.如何确保消息的精确传输?如何确保消息的准确存储?…
java基础解析系列(四)---LinkedHashMap的原理及LRU算法的实现 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)---Integer java基础解析系列(三)---HashMap 这是我的博客目录,欢迎阅读 实验 遍历HashMap public static void main(String[] args) { Map<String, String> map=new HashMap<St…
Kafka架构介绍和安装 写在前面 还是那句话,当你学习一个新的东西之前,你总得知道这个东西是什么?这个东西可以用来做什么?然后你才会去学习它,使用它.简单来说,kafka既是一个消息队列,如今,它也演变为一个分布式的流处理平台,这一点就是很厉害的了.所以,学习kafka对于大数据的小伙伴们来说,是非常有益的. (一)Kafka概述 1.Kafka是一个分布式的流处理平台,有消息的订阅系统(订阅之后,一旦有新的消息产生,你就会收到消息),可以以多副本的方式进行存储,可以构建实时数据管道,以及实时…
本文基于A Guide To The Kafka Protocol文档,以及Spark Streaming中实现的org.apache.spark.streaming.kafka.KafkaCluster类.整理出Kafka中有关 Metadata API Produce API Fetch API Offset API(Aka ListOffset) Offset Commit/Fetch API Group Membership API Administrative API 零.准备工作 需…
接下来的这些博客,主要内容来自<Learning Apache Kafka Second Edition>这本书,书不厚,200多页.接下来摘录出本书中的重要知识点,偶尔参考一些网络资料,并伴随着一些动手实践,算是一篇读书笔记吧. 本文是第一篇,主要从整体上梳理Kafka的基本架构和原理. 一.什么是Kafka Kafka是一个开源的,分布式的消息发布和订阅系统,它由Producer, Consumer和Broker组成.使用Kafka可以实时传递和处理一些Message.总的来说,Kafka…
KafkaOffsetMonitor是一个可以用于监控Kafka的Topic及Consumer消费状况的工具,其配置和使用特别的方便.源项目Github地址为:https://github.com/quantifind/KafkaOffsetMonitor. 最简单的使用方式是从Github上下载一个最新的KafkaOffsetMonitor-assembly-0.2.1.jar,上传到某服务器上,然后执行一句命令就可以运行起来.但是在使用过程中有可能会发现页面反应缓慢或者无法显示相应内容的情况…
1.kafka是什么 类JMS消息队列,结合JMS中的两种模式,可以有多个消费者主动拉取数据,在JMS中只有点对点模式才有消费者主动拉取数据. kafka是一个生产-消费模型. producer:生产者,只负责数据生产,生产者的代码可以集成到任何系统中.数据的分发策略由producer决定,默认是Defaultpartition Utils.abs(key.hashCode)%numPartitions. Broker:当前服务器上的kafka进程,俗称拉皮条.只管数据存储,不管是谁消费.在集群…
flume-kafka-storm flume读取日志数据,然后发送至kafka. 1.flume配置文件 agent.sources = kafkaSource agent.channels = kafkaChannel agent.sinks = kafkaSink agent.sources.kafkaSource.type = exec agent.sources.kafkaSource.command = tail -F /home/hadoop/kafkaData/kafka.log…
Apache Kafka系列(一) 起步 Apache Kafka系列(二) 命令行工具(CLI) Apache Kafka系列(三) Java API使用 Apache Kafka系列(四) 多线程Consumer方案 本文的图片是通过PPT截图出的,读者如果修改意见请联系我 一.Consumer为何需要实现多线程 假设我们正在开发一个消息通知模块,该模块允许用户订阅其他用户发送的通知/消息.该消息通知模块采用Apache Kafka,那么整个架构应该是消息的发布者通过Producer调用AP…
Kafka提供了重新分区的命令,但是只能增加,不能减少 我的kafka安装在/usr/local/kafka_2.12-1.0.2目录下面, [root@i-zk1 kafka_2.-]# bin/kafka-topics. --topic test Topic:test PartitionCount: ReplicationFactor: Configs: Topic: test Partition: Leader: Replicas: Isr: 查看当前topic test为一个分区,一个R…