![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Kafka
程序员学习圈
值得去的地方,没有捷径;难走的路,才更值得开始!
展开
-
Kafka 资料整理
1.Ganglia的安装与部署(1) 安装httpd服务与php [luomk@hadoop102 flume]$ sudo yum -y install httpd php(2) 安装其他依赖 [luomk@hadoop102 flume]$ sudo yum -y install rrdtool perl-rrdtool rrdtool-devel [lu...原创 2018-09-21 16:18:10 · 906 阅读 · 0 评论 -
Flume对接Kafka
1.Kafka 高可靠性存储 Kafka 的高可靠性的保障来源于其健壮的副本(replication)策略。通过调节其副本相关 参数,可以使得 Kafka 在性能和可靠性之间运转的游刃有余。Kafka 从 0.8.x 版本开始提供 partition 级别的复制,replication 的数量可以在$KAFKA_HOME/config/server.properties 中配 置(...原创 2018-09-20 14:38:53 · 480 阅读 · 0 评论 -
Kafka 监控
KafkaCluster 在使用 Kafka 低阶消费者时,可以通过 KafkaCluster 类实现 offset 向 ZooKeeper 的提交 和获取。 Kafka 协议非常简单,只有六个核心客户端请求 API: 元数据(Metadata) - 描述当前可用的代理,主机和端口信息,并提供有关哪个代理主机分区的信息。 发送(Send) -...原创 2018-09-20 12:16:07 · 1224 阅读 · 0 评论 -
Kafka Manager
1. 使用消费者组实现消息队列的两种模式 Kafka 集群的数据需要被不同类型的消费者使用,而不同类型的消费者处理逻辑不 同。Kafka 使用消费组的概念,允许一组消费者进程对消费工作进行划分。每个消费者都可 以配置一个所属的消费组,并且订阅多个主题。Kafka 会发送每条消息给每个消费组中的一 个消费者进程( 同一条消息广播给多个消费组,单播给同一组中的消费者)。被订阅主题 的所有分区...原创 2018-09-20 12:13:57 · 801 阅读 · 0 评论 -
kafka Streams
1. Kafka 高级消费者 高阶消费者是一把双刃剑,一方面简化了编程,一方面也由于编程者参与的功能过少, 可控内容过少而造成很多问题。(1) 自动负载均衡 高阶消费者为了简化编程,封装了一系列 API,这套 API 会均匀地将分区分配给消费者 线程,消费者消费哪个分区不由消费者决定,而是由高阶 API 决定,如果有消费者线程挂 掉了,高阶 API 会检测到,进而进行重新分...原创 2018-09-20 11:58:09 · 1893 阅读 · 0 评论 -
Kafka API
1.Kafka分区分配策略 在 Kafka 内部存在两种默认的分区分配策略:Range 和 RoundRobin。当以下事件发 生时,Kafka 将会进行一次分区分配: 同一个 Consumer Group 内新增消费者 消费者离开当前所属的 Consumer Group,包括 shuts down 或 crashes 订阅的主...原创 2018-09-20 11:50:33 · 429 阅读 · 0 评论 -
Kafka 事务
1. Kafka Streams Kafka Streams。Apache Kafka开源项目的一个组成部分。是一个功能强大,易于使用的库。用于在Kafka上构建高可分布式、拓展性,容错的应用程序。2.Kafka Streams特点(1) 功能强大 ① 高扩展性,弹性,容错(2) 轻量级 ①无需专门的集群 ② 一个库,而不是框架(3...原创 2018-09-20 09:33:11 · 1064 阅读 · 0 评论 -
Zookeeper在Kafka中的作用
1.拦截器原理 Producer拦截器(interceptor)是在Kafka 0.10版本被引入的,主要用于实现clients端的定制化控制逻辑。 对于producer而言,interceptor使得用户在消息发送前以及producer回调逻辑前有机会对消息做一些定制化需求,比如修改消息等。同时,producer允许用户指定多个interceptor按序作用于同一条消息从而形...原创 2018-09-19 20:08:05 · 433 阅读 · 0 评论 -
Kafka 高效读写数据
1.环境准备(1) 在eclipse中创建一个java工程(2) 在工程的根目录创建一个lib文件夹(3) 解压kafka安装包 将安装包libs目录下的jar包拷贝到工程的lib目录下,并build path。(4) 启动zk和kafka集群,在kafka集群中打开一个消费者 [luomk@hadoop102 kafka]$ bin/kafka-console...原创 2018-09-19 18:36:05 · 605 阅读 · 0 评论 -
Kafka 消费者
kafka提供了两套consumer API:高级Consumer API和低级API。1.消费模型 消息由生产者发布到Kafka集群后,会被消费者消费。消息的消费模型有两种:推送模型(push)和拉取模型(pull)。 基于推送模型(push)的消息系统,由消息代理记录消费者的消费状态。消息代理在将消息推送到消费者后,标记这条消息为已消费,但这种方式...原创 2018-09-19 17:53:14 · 743 阅读 · 0 评论 -
Kafka 生产者
1.存储方式 物理上把topic分成一个或多个patition(对应 server.properties 中的num.partitions=3配置),每个patition物理上对应一个文件夹(该文件夹存储该patition的所有消息和索引文件),如下:[luomk@hadoop102 logs]$ ls -ldrwxrwxr-x 2 luomk luomk4096 7月...原创 2018-09-19 17:39:44 · 335 阅读 · 0 评论 -
Kafka工作流程及文件存储机制
1.写入方式 producer采用推(push)模式将消息发布到broker,每条消息都被追加(append)到分区(patition)中,属于顺序写磁盘(顺序写磁盘效率比随机写内存要高,保障kafka吞吐率)。2.分区(Partition) Kafka集群有多个消息代理服务器(broker-server)组成,发布到Kafka集群的每条消息都有一个类别,用主题(to...原创 2018-09-19 17:33:24 · 891 阅读 · 0 评论 -
Kafka 配置信息解读
1. Broker 配置信息 属性 默认值 描述 broker.id 必填参数,broker的唯一标识 log.dirs /tmp/kafka-logs Kafka数据存放的目录。可以指定多个目录,中间用逗号分隔,...原创 2018-09-19 16:36:43 · 268 阅读 · 0 评论 -
Kafka 命令行操作
—启动集群(分别启动) [luomk@hadoop102 kafka]$ /opt/module/kafka/bin/kafka-server-start.sh /opt/module/kafka/config/server.properties & 或者 [luomk@hadoop102 kafka]$ /opt/module/kafka/bin/kafka...原创 2018-09-19 16:21:43 · 811 阅读 · 0 评论 -
Kafka 集群部署
1.环境准备(1) 集群规划 hadoop102 hadoop103 hadoop104 zk zk zk kafka kafka kafka (2...原创 2018-09-19 15:13:23 · 412 阅读 · 0 评论 -
Kafka 基础概述
1.什么是kafka? 在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算。 1)Apache Kafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目。 2)Kafka最初是由LinkedIn公司开发,并于 2011年初开源。2012年10月从Apache Incubator毕业。该项...原创 2018-09-19 14:19:57 · 286 阅读 · 0 评论 -
常用消息队列对比
作为中间件,消息队列是分布式应用间交换信息的重要组件。消息队列可驻留在内存或磁盘上, 队列可以存储消息直到它们被应用程序读走。通过消息队列,应用程序可以在不知道彼此位置的情况下独立处理消息,或者在处理消息前不需要等待接收此消息。所以消息队列可以解决应用解耦、异步消息、流量削锋等问题,是实现高性能、高可用、可伸缩和最终一致性架构中不可以或缺的一环。下面对消息队列就直接使用MQ表示。...转载 2018-09-19 11:35:31 · 256 阅读 · 0 评论