Kafka
黑猴子的家
拥有技术,便拥有自由
B站 Up主专注于技术 https://space.bilibili.com/398602910
展开
-
黑猴子的家:kafka Produce 发送数据到 kafka topic
1、kafka.propertiesbootstrap.servers=hadoop102:9092,hadoop103:9092,hadoop104:9092key.serializer=org.apache.kafka.common.serialization.StringSerializervalue.serializer=org.apache.kafka.common.seria...原创 2018-11-07 09:10:00 · 1134 阅读 · 0 评论 -
黑猴子的家:Kafka 消费者API
Code -> GitHubhttps://github.com/liufengji/kafka_api.git1、在控制台创建发送者[victor@node3 kafka]$ bin/kafka-console-producer.sh --broker-list node1:9092 \--topic first>hello world>hello ...原创 2018-10-10 13:20:00 · 160 阅读 · 0 评论 -
黑猴子的家:Kafka API
1、Code -> GitHubhttps://github.com/liufengji/kafka_api.git2、环境准备1)在eclipse中创建一个java工程2)在工程的根目录创建一个lib文件夹3) 解压kafka安装包,将安装包libs目录下的jar包拷贝到工程的lib目录下,并build path。4)启动zookeeper和kafka集群,在kaf...原创 2018-10-10 13:22:00 · 140 阅读 · 0 评论 -
黑猴子的家:Kafka 拦截器原理
Producer拦截器(interceptor)是在Kafka 0.10版本被引入的,主要用于实现clients端的定制化控制逻辑。对于producer而言,interceptor使得用户在消息发送前以及producer回调逻辑前有机会对消息做一些定制化需求,比如修改消息等。同时,producer允许用户指定多个interceptor按序作用于同一条消息从而形成一个拦截链(interceptor ...原创 2018-10-10 13:26:00 · 204 阅读 · 0 评论 -
黑猴子的家:Kafka 拦截器应用案例
Code -> GitHubhttps://github.com/liufengji/kafka_api.git1、需求实现一个简单的双interceptor组成的拦截链。第一个interceptor会在消息发送前将时间戳信息加到消息value的最前部;第二个interceptor会在消息发送后更新成功发送消息数或失败发送消息数。2、拦截器一增加时间戳拦截器...原创 2018-10-10 13:32:00 · 166 阅读 · 0 评论 -
黑猴子的家:Kafka Streams 介绍
1、网址https://docs.confluent.io/3.0.0/streams/index.html2、Kafka Streams特点1)功能强大高扩展性,弹性,容错2)轻量级无需专门的集群一个库,而不是框架3)完全集成100%的Kafka 0.10.0版本兼容及更新版本(需要kafka0.10.0及更新的版本)易于集成到现有的应用程序4)实...原创 2018-10-10 13:40:00 · 153 阅读 · 0 评论 -
黑猴子的家:为什么要有 Kafka Stream
当前已经有非常多的流式处理系统,最知名且应用最多的开源流式处理系统有Spark Streaming和Apache Storm。Apache Storm发展多年,应用广泛,提供记录级别的处理能力,当前也支持SQL on Stream。而Spark Streaming基于Apache Spark,可以非常方便与图计算,SQL处理等集成,功能强大,对于熟悉其它Spark应用开发的用户而言使用门槛低。另外...原创 2018-10-10 13:44:00 · 178 阅读 · 1 评论 -
黑猴子的家:Kafka Streams 案例
Code -> GitHubhttps://github.com/liufengji/kafka_api.git1、需求分析实时处理单词带有”>>>”前缀的内容。例如输入”victor>>>mayy”,最终处理成“mayy”2、创建主类 (创建一个工程,并添加jar包)import java.util.Properties;...原创 2018-10-10 13:52:00 · 397 阅读 · 0 评论 -
黑猴子的家:Kafka消息队列内部实现原理
1、网址http://kafka.apache.org/2、点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除)点对点模型通常是一个基于拉取或者轮询的消息传送模型,这种模型从队列中请求信息,而不是将消息推送到客户端。这个模型的特点是发送到队列的消息被一个且只有一个接收者接收处理,即使有多个消息监听者也是如此。3、发布/订阅模式(一对多,数据生产后,推送给所有订阅者)...原创 2018-09-07 22:05:00 · 242 阅读 · 0 评论 -
黑猴子的家:Kafka 消息队列的优势
1、解耦允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。2、冗余消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕。3、扩展性因为消息队列解耦了你的处理过程,所...原创 2018-09-07 22:08:00 · 92 阅读 · 0 评论 -
黑猴子的家:Kafka 生产者 API
Code -> GitHubhttps://github.com/liufengji/kafka_api.git1、创建生产者(过时的API)import java.util.Properties;import kafka.javaapi.producer.Producer;import kafka.producer.KeyedMessage;import kafka.p...原创 2018-10-10 13:14:00 · 151 阅读 · 4 评论 -
黑猴子的家:Kafka 工作流程分析
1、Kafka生产过程分析https://www.jianshu.com/p/3ebe53a55afe2、Kafka Broker 保存消息https://www.jianshu.com/p/2ae34fbefe233、Kafka消费过程分析https://www.jianshu.com/p/6915d3f2d5d7...原创 2018-10-10 11:06:00 · 146 阅读 · 0 评论 -
黑猴子的家:Kafka 消费过程分析
kafka提供了两套consumer API:高级Consumer API和低级Consumer API1、高级API1)高级API优点高级API 写起来简单不需要自行去管理offset,系统通过zookeeper自行管理。不需要管理分区,副本等情况,系统自动管理。消费者断线会自动根据上一次记录在zookeeper中的offset去接着获取数据(默认设置1分钟更新一下zookeep...原创 2018-10-10 11:03:00 · 166 阅读 · 0 评论 -
黑猴子的家:Kafka 架构
1、Producer消息生产者,就是向kafka broker发消息的客户端。2、Consumer消息消费者,向kafka broker取消息的客户端3、Topic可以理解为一个队列。4、Consumer Group (CG)这是kafka用来实现一个topic消息的广播(发给所有的consumer)和单播(发给任意一个consumer)的手段。一个topic可以有...原创 2018-09-07 22:11:00 · 187 阅读 · 0 评论 -
黑猴子的家:Kafka集群部署
1、 集群规划node1 node2 node3 zookeeper zookeeper zookeeper kafka kafka kafka 2、 jar包下载http://kafka.apache.org/downloads.html3、虚拟机准备1)准备3台虚拟机2)配置ip地址3)配置主机名称4)配置主机名...原创 2018-09-07 22:30:00 · 176 阅读 · 0 评论 -
黑猴子的家:Kafka 是什么
在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算。1、开源消息系统Apache Kafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目。2、Kafka的最初Kafka最初是由LinkedIn公司开发,并于2011年初开源。2012年10月从Apache Incubator毕业。该项目的目标是为处理实时...原创 2018-10-10 10:05:00 · 147 阅读 · 0 评论 -
黑猴子的家:Kafka 命令行操作
1、查看当前服务器中的所有topic[victor@node1 kafka]$ bin/kafka-topics.sh --zookeeper node1:2181 --list2、创建topic[victor@node1 kafka]$ bin/kafka-topics.sh --zookeeper node1:2181 --create \--replication-fac...原创 2018-10-10 10:18:00 · 192 阅读 · 0 评论 -
黑猴子的家:Kafka Broker 配置信息
属性 默认值 描述 broker.id 必填参数,broker的唯一标识 log.dirs /tmp/kafka-logs Kafka数据存放的目录。可以指定多个目录,中间用逗号分隔,当新partition被创建的时会被存放到当前存放partition最少的目录。 port 9092 BrokerServer接受客户端连接的端口号 ...原创 2018-10-10 10:30:00 · 139 阅读 · 0 评论 -
黑猴子的家:Kafka Producer 配置信息
属性 默认值 描述 metadata.broker.list 启动时producer查询brokers的列表,可以是集群中所有brokers的一个子集。注意,这个参数只是用来获取topic的元信息用,producer会从元信息中挑选合适的broker并与之建立socket连接。格式是:host1:port1,host2:port2。 request.requir...原创 2018-10-10 10:35:00 · 165 阅读 · 0 评论 -
黑猴子的家:Kafka Consumer 配置信息
属性 默认值 描述 group.id Consumer的组ID,相同goup.id的consumer属于同一个组。 zookeeper.connect Consumer的zookeeper连接串,要和broker的配置一致。 consumer.id null 如果不设置会自动生成。 socket.timeout.ms 3...原创 2018-10-10 10:41:00 · 158 阅读 · 0 评论 -
黑猴子的家:Kafka 生产过程分析
1、写入方式producer采用推(push)模式将消息发布到broker,每条消息都被追加(append)到分区(patition)中,属于顺序写磁盘(顺序写磁盘效率比随机写内存要高,保障kafka吞吐率)。2、分区(Partition)消息发送时都被发送到一个topic,其本质就是一个目录,而topic是由一些Partition Logs(分区日志)组成,其组织结构如下图所示:...原创 2018-10-10 10:52:00 · 163 阅读 · 0 评论 -
黑猴子的家:Kafka Broker 保存消息
1、存储方式物理上把topic分成一个或多个patition(对应 server.properties 中的num.partitions=3配置),每个patition物理上对应一个文件夹(该文件夹存储该patition的所有消息和索引文件),如下[victor@node1 logs]$ lldrwxrwxr-x. 2 victor victor 4096 3月 6 14:37...原创 2018-10-10 10:57:00 · 102 阅读 · 0 评论 -
黑猴子的家:Flume 案例 flume -> kafka
flume监控日志,传输给kafka1、flume-kafka.conf# definea1.sources = r1a1.sinks = k1a1.channels = c1# sourcea1.sources.r1.type = execa1.sources.r1.command = tail -F -c +0 /home/admin/call/calllog.csv...原创 2018-09-13 10:38:00 · 89 阅读 · 0 评论