TDH-kafka
一、kafka原理:
1.broker:一个kafka实例,多个broker组成kafka集群;
2.topic:逻辑概念,同一类数据的集合,可以看做一张表;
3.producer:将数据写入topic,作为broker写数据的客户端;
4.consumer:从topic中取数据,作为broker消费数据的客户端;
5.partition:物理概念,一个topic分多个分区,分区内数据有序的消息队列,分区是一个文件夹形式,里面保存数据和索引文件;
6.replication:副本数,保存在不同的broker;
7.Consumer Group(CG, 消费者组):
一条消息可以发送给多个不同的CG,但一个CG中只能有一个Consumer读取该消息;
8.Zookeeper:
Kafka将元数据保存在Zookeeper中负责Kafka集群管理,包括配置管理、 动态扩展、 Broker负载均衡、 Leader选举,以及
Consumer Group变化时的Rebalance等;
9.Offset:是用于定位分区中消息的顺序编号;
10.00000000000000000000.index:内容是offset+position;
00000000000000000000.timeindex:内容是timestamp+offset;
11.Kafka Controller Leader:由zk选举出来,负责管理Kafka集群的分区和副本状态,避免分区副本直接在Zookeeper
上注册Watcher和竞争创建临时Znode,导致Zookeeper集群负载过重
12. Kafka Partition Leader:Kafka Controller Leader负责Partition Leader的选举
Partition Leader负责跟踪和维护ISR;
Partition Follower定期从Leader同步数据;
13.常用指令:
查看topic列表
./kafka-topic.sh --zookeeper tdh-24:2181 --list
创建topic
./kafka-topic.sh --zookeeper tdh-24:2181 --create --topic demo -- partitions 3 --replication-factor 1
查看topic描述
./kafka-topic.sh --zookeeper tdh-24:2181 --describe --topic demo
删除topic
./kafka-topic.sh --zookeeper tdh-24:2181 --delete --topic demo 标记删除 后台进程删除
生产--针对某topic
./kafka-console-producer.sh --broker-list tdh-24:9092, tdh-25:9092 --topic demo
消费--针对某topic
./kafka-console-custmer.sh --bootstrap-server tdh-24:9092 --topic demo
消费--针对某topic.重新消费
./kafka-console-custmer.sh --bootstrap-server tdh-24:9092 --topic demo --from begining --consumer -property group.id=00001test
查看某一group的topic
./kafka-cusumer-group.sh --bootstrap-server tdh-24:9092 --list
./kafka-streams-applications-reset.sh --zookeeper tdh-24:2181 --bootstrap servers tdh-24:9092 --input topics demo
application -id 00001test 重新消费
TDH-kafka的更多相关文章
- flume集成kafka(kafka开启kerberos)配置
根据flume官网:当kafka涉及kerberos认证: 涉及两点配置,如下: 配置一:见下实例中红色部分 配置conf实例: [root@gz237-107 conf]# cat flume_sl ...
- Spark踩坑记——Spark Streaming+Kafka
[TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...
- 消息队列 Kafka 的基本知识及 .NET Core 客户端
前言 最新项目中要用到消息队列来做消息的传输,之所以选着 Kafka 是因为要配合其他 java 项目中,所以就对 Kafka 了解了一下,也算是做个笔记吧. 本篇不谈论 Kafka 和其他的一些消息 ...
- kafka学习笔记:知识点整理
一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险. ...
- .net windows Kafka 安装与使用入门(入门笔记)
完整解决方案请参考: Setting Up and Running Apache Kafka on Windows OS 在环境搭建过程中遇到两个问题,在这里先列出来,以方便查询: 1. \Jav ...
- kafka配置与使用实例
kafka作为消息队列,在与netty.多线程配合使用时,可以达到高效的消息队列
- kafka源码分析之一server启动分析
0. 关键概念 关键概念 Concepts Function Topic 用于划分Message的逻辑概念,一个Topic可以分布在多个Broker上. Partition 是Kafka中横向扩展和一 ...
- Kafka副本管理—— 为何去掉replica.lag.max.messages参数
今天查看Kafka 0.10.0的官方文档,发现了这样一句话:Configuration parameter replica.lag.max.messages was removed. Partiti ...
- Kafka:主要参数详解(转)
原文地址:http://kafka.apache.org/documentation.html ############################# System ############### ...
- kafka
2016-11-13 20:48:43 简单说明什么是kafka? Apache kafka是消息中间件的一种,我发现很多人不知道消息中间件是什么,在开始学习之前,我这边就先简单的解释一下什么是消息 ...
随机推荐
- cocoapod使用
什么是cocoapod CocoaPods是用于方便使用第三方开源库的管理工具,减少我们对第三方库的各种配置. 安装教程参考: CocoaPods的介绍.安装.使用和原理 Cocoapod安装使用 第 ...
- netty ssl
netty提供的例子中有secury的实现,不过是一个伪证书.修改了一下其中的SecureChatSslContextFactory类,使用证书的方式实现ssl.修改后代码如下: public fin ...
- Yii2.0 自动生成 model 层
yii2.0 里一个表对应一个model,可以自动生成 前台使用的model在frontend(backend)/web目录下的gii生成例如(www.liqiuyue.com/yii /fronte ...
- POJ1226(strstr)
Substrings Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 13348 Accepted: 4722 Descr ...
- TextMode="Password" 赋值(小技巧)
TextMode="Password"不能在后台直接向前台赋值,但是可以用js赋值. txtUserPassword.Attributes.Add("value" ...
- UItextFied 的属性
网络学习笔记 在iPhone应用中通过UITextField填写信息时,经常出现出现自动更正输入信息.首字母大写等情况 尤其是在填写用户名时,这种本想提供便捷的功能反而让人感到特别麻烦 今天查了相关书 ...
- CodeForces 1109E. Sasha and a Very Easy Test
题目简述:给定$m \leq 10^9+9$,维护以下操作 1. "1 l r x":将序列$a[l], a[l+1], \dots, a[r]$都乘上$x$. 2. " ...
- HDOJ-2034
人见人爱A-B Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- g2o扩展,然后重新编译生成新库。
orb作者有g2o扩展,g2o原作者也有g2o扩展,等各项基本功扎实以后,考虑把他们整合在一起,再加上高博扩展的g2o,统一cmake,make,然后能make install 正常使用,就最好了.
- classpath 和 classpath*的 区别:
classpath 和 classpath*的 区别: classpath:只会到你指定的class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件中(class路径 ...