kafka-0.10.1.X版本之前: auto.offset.reset 的值为smallest,和,largest.(offest保存在zk中)
 
kafka-0.10.1.X版本之后: auto.offset.reset 的值更改为:earliest,latest,和none (offest保存在kafka的一个特殊的topic名为:__consumer_offsets里面)
 
如果存在已经提交的offest时,不管设置为earliest 或者latest 都会从已经提交的offest处开始消费
 
如果不存在已经提交的offest时,earliest 表示从头开始消费,latest 表示从最新的数据消费,也就是新产生的数据.
 
none topic各分区都存在已提交的offset时,从提交的offest处开始消费;只要有一个分区不存在已提交的offset,则抛出异常
 
 
 
简介
kafka对消息保存时根据Topic进行归类,发送消息者成为producer,消息接受者成为consumer,此外kafka集群有多个kafka实例组成,每个实例()成为broker,无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性集群保存一些metaaaarticlea/png;base64,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" alt="" width="444" />
 
Topic(主题、专题) & Partition(分区)
    消息发送时都被发送到一个topic,其本质就是一个目录,而topic是由一些partition Logs(分区日志)组成,其组织结构如下图所示
aaarticlea/png;base64,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" alt="" width="413" />
每个partition的消息都是有序,生产的消息被不断追加到Partition log上,其中的每个消息都被赋予了一个唯一的offset值(偏移值;如果设置offset值为9,那么消费者会从offset值是9的位置开始读取数据)
kafka集群会保存所有的消息,不管消费没有消费都会一直存在;除非消息超过了设定的消息过期时间,才会被自动清除以释放磁盘空间。
 
Kafka核心组件 Replications(复制)、Partitions(分区) 和Leaders(领袖)
  • kafka中的数据是持久化并容错的,允许每个topic设置副本数量(Replications)副本数量决定了有几个broker(节点(机器))来存放写入的数据,(如果你的副本数量设置3.那么一份数据就会被存放在3台不同的机器上)一般推荐副本数量至少为2
  • kafka中的topic是以partition形式存放的,每一个topic都可以设置它的partition数量,partition的数量决定了组成topic的log的数量,producer在生产数据时,会按照一定规则(这个规则也可以是自定义的)把消息发布到topic的各个partition中,上面的副本都是以partition为单位,不过只有一个partition的副本会被选举成leader作为读写用(随机选举)
  • 关于如何设置partition值需要考虑的因素,一个partition只能被一个消费者消费(一个消费者可以同时消费多个partition)因此,如果设置的partition的数量小于consumer的数量,就会有消费者消费不到数据,所以推荐partition的数量一定要大于同时运行的consumer数量。建议partition的数量大于集群broker的数量,这样leader partition可均匀分布在各个broker,使负载均衡
 
kafka核心特性
  • 压缩;kafka支持以集合为单位发送消息,在此基础上,kafka还支持对消息集合进行压缩,Producer端可以通过GZIP或Snappy格式对消息集合进行压缩。好处就是减少传输的数据量,减轻对网络传输的压力
  • 消息可靠性;
  • 从Producer端:当发送一个消息后,Producer端会等待broker成功接收到消息的反馈之后,才进行传输下一个消息。如果消息在途中丢失或是其中一个broker挂掉,Producer会重新发送;
  • 从Consumer端:broker端记录了partition中的一个offset值,这个值指向Consumer下一个即将消费message。当Consumer收到了消息,但却在处理过程中挂掉,此时Consumer可以通过这个offset值重新找到上一个消息再进行处理。Consumer还有权限控制这个offset值,对持久化到broker端的消息做任意处理
  • 备份机制:提高了kafka集群的可靠性,稳定性。kafka运行集群中的节点挂掉后而不影响整个集群工作,一个备份数量为n的集群运行n-1个节点失败,在所有节点中,有一个节点作为lead节点,这个节点保存了其他备份节点列表,并维持各个备份间的状态同步
aaarticlea/png;base64,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" alt="" width="422" />
 
消息队列(Message Queue)
 消息:网络中的两台计算机或者两个通讯设备之间传递的数据。例如说:文本、音乐、视频等内容。  
 
队列:一种特殊的线性表(数据元素首尾相接),特殊之处在于只允许在首部删除元素和在尾部追加元素。入队、出队。  
 
消息队列:顾名思义,消息+队列,保存消息的队列。消息的传输过程中的容器;主要提供生产、消费接口供外部调用做数据的存储和获取。
 
MQ分类:点对点(P2P)、发布订阅(Pub/Sub)
共同点: 消息生产者生产消息发送到queue中,然后消息消费者从queue中读取并且消费消息。 
不同点: P2P模型包含:消息队列(Queue)、发送者(Sender)、接收者(Receiver) 一个生产者生产的消息只有一个消费者(Consumer)(即一旦被消费,消息就不在消息队列中)。打电话。 Pub/Sub包含:消息队列(Queue)、主题(Topic)、发布者(Publisher)、订阅者(Subscriber) 每个消息可以有多个消费者,彼此互不影响。比如我发布一个微博:关注我的人都能够看到。
 
kafka优点
高吞吐量:可以满足每秒百万级别消息的生产和消费
持久性:有一套完善的消息存储机制,确保数据的高效安全的持久化
分布式:基于分布式的扩展,和容错机制,kafka的数据都会赋值到几台服务器上,当某一台故障失效时,生产者和消费者转而使用其它的机器
作用:用于处理活跃的数据(登录、浏览、点击、分享、喜欢等用户行为产生的数据)
 
kafka服务:
Topic:主题,kafka处理的消息的不同分类
Broker:消息的代理,Kafka集群中的一个kafka服务节点称为一个broker,主要存储消息数据,存在硬盘中每个topic都是有分区的
Partition:topic物理上的分组(分区)
Message:消息(数据)。通信的基本单位,每个消息都属于一个partition
 
多个Message组合成Partition组合成Topic组合成Broker
 
kafka服务相关:
zookeeper:协调kafka的正常运行(在启动kafka必须先启动zookeeper,并且每台机器都必须启动
zkServer.sh start
zkServer.sh stop                                    
 
Producer:消息和数据的生产者,向kafka的一个topic发布消息
 
Consumer:消息和数据的消费者,订阅topic并处理其发布的消息
 
启动kafka:
kafka-server-start.sh /usr/local/hadoop/kafka_2.11-0.8.2.2/config/server.properties
后台启动kafka:
kafka-server-start.sh /usr/local/hadoop/kafka_2.11-0.8.2.2/config/server.properties 1>/dev/null 2>&1 & (后台启动)
守护进程kafka:
kafka-server-start.sh -daemon /usr/local/hadoop/kafka_2.11-0.8.2.2/config/server.properties
停止:
kafka-server-stop.sh
 
增:
新增一个topic:“hello”,为它分配一个分区(3个区),保存二个副本
kafka-topics.sh --create --zookeeper 192.168.20.10:2181 --replication-factor 2 --partitions 3 --topic topic名字
#######replication-factor不能大于broker数
查:
查询hello的信息【不加topic是查询所有的topic的详情】
kafka-topics.sh --describe --zookeeper 192.168.20.10:2181 --topic topic名字
所有可以使用的topic
kafka-topics.sh --list --zookeeper 192.168.20.10:2181
改:
修改hello为2个分区   alter:修改partition数(只能增加)
kafka-topics.sh --alter --zookeeper 192.168.20.10:2181 --partitions 4 --topic topic名字
删:
删除world的topic kafka-topics.sh --delete --zookeeper 192.168.20.10:2181 --topic topic名字
#是否开启topic的删除功能:默认为false。 如果要开启删除topic 开关
在kafka/conf/server.properties 里的最后一行添加: delete.topic.enable=true
创建生产者 producer
必须的参数: 
broker-list:kafka的服务地址[多个用逗号隔开]、
topic:具体的单个topic 
 
kafka-console-producer.sh --broker-list 192.168.20.10:9092 --topic topic名字

创建消费者 consumer 

必须的参数: Zookeeper:
kafka的zk集群地址; Topic\whitelist\blacklist: 
1、具体的单个topic 
2、多个白名单topic字符串[逗号隔开]。 
3、多个黑名单topic字符串[逗号隔开]。 
kafka-console-consumer.sh --zookeeper 192.168.20.11:2181 --topic topic名字 --from-beginning 
 
标记删除的topic也可以使用。
--topic  t1,t2表示只消费t1,t2主题
kafka-console-consumer.sh --whitelist t1,t2 –zookeeper 192.168.20.10:2181,192.168.20.11:2181 --from-beginning --topic
t1,t2表示除过t1,t2主题之外消费所有主题
kafka-console-consumer.sh --blacklist t1,t2 --zookeepershb01:2181,192.168.79.139:2181 --from-beginning
 
broker:配置文件server.properties
1.为了减少磁盘写入的次数,broker会将消息暂时buffer(加载到缓存)起来,当消息的个数达到一定阀值或者过了一定的时间间隔时,再flush到磁盘,这样减少了磁盘IO调用的次数。
配置:Log Flush Policy
#log.flush.interval.messages=10000 (字节)    一个分区的消息数阀值
 #log.flush.interval.ms=1000  (毫秒)
 
2、kafka的消息保存一定时间(通常为7天)后会被删除。配置:Log Retention Policy 
log.retention.hours=168 (小时)
 #log.retention.bytes=1073741824(字节) log.retention.check.interval.ms=300000(毫秒)
 
Producer:配置文件:producer.properties
1、异步或者同步发送 
配置项:producer.type 
异步或者同步发送 
        同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据的通讯方式。   
        异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据的通讯方式。 
2、批量发送可以很有效的提高发送效率。 Kafka producer的异步发送模式允许进行批量发送,先将消息缓存在内存中,然后一次请求批量发送出去。 
具体配置queue.buffering.max.ms、queue.buffering.max.messages。 
默认值分别为5000和10000
 
 
为什么设置group
同样是逻辑上的概念,是Kafka实现单播和广播两种消息模型的手段。同一个topic的数据,会广播给不同的group;同一个group中的worker,只有一个worker能拿到这个数据。换句话说,对于同一个topic,每个group都可以拿到同样的所有数据,但是数据进入group后只能被其中的一个worker消费。group内的worker可以使用多线程或多进程来实现,也可以将进程分散在多台机器上,worker的数量通常不超过partition的数量,且二者最好保持整数倍关系,因为Kafka在设计时假定了一个partition只能被一个worker消费(同一group内)。
 
 

小记---------kafka理论及命令行操作的更多相关文章

  1. kafka工作流程| 命令行操作

    1.  概述 数据层:结构化数据+非结构化数据+日志信息(大部分为结构化) 传输层:flume(采集日志--->存储性框架(如HDFS.kafka.Hive.Hbase))+sqoop(关系型数 ...

  2. Kafka命令行操作及常用API

    一.Kafka命令行操作 1.查看当前集群已存在的主题 bin/kafka-topic.sh --zookeeper hd09-01:2181 --list 2.创建主题 bin/kafka-topi ...

  3. 4、Kafka命令行操作

    Kafka命令行操作 1)查看当前服务器中的所有topic [test@ip101 kafka]$ bin/kafka-topics.sh --zookeeper ip101:2181 --list ...

  4. Kafka命令行操作

    Kafka命令行操作 1)查看当前服务器中的所有topic [bingo@hadoop101 kafka]$ bin/kafka-topics.sh --list --zookeeper hadoop ...

  5. 命令行操作svn和git和git

    前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音, ...

  6. mysql 命令行操作入门(详细讲解版)

    之前分享过多次Mysql主题,今天继续分享mysql命令行入门   1. 那么多mysql客户端工具,为何要分享命令行操作? -快捷.简单.方便 -在没有客户端的情况下怎么办 -如果是mysql未开启 ...

  7. windows下使用TortoiseGit代替Git命令行操作

    windows下使用TortoiseGit代替Git命令行操作 大家在使用svn的时候,都非常喜欢使用小乌龟,也就是TortoiseSVN:那么git也有小乌龟版本,即TortoiseGit. 1.安 ...

  8. linux快速入门 1.1命令行操作

    http://lovesoo.org/linux-command-line-operation.html 1.1命令行操作 目录: <wp_nokeywordlink>Shell简介 &l ...

  9. MongoDB命令行操作

    本文专门介绍MongoDB的命令行操作.其实,这些操作在MongoDB官网提供的Quick Reference上都有,但是英文的,为了方便,这里将其稍微整理下,方便查阅. 这里用来做测试的是远端(10 ...

随机推荐

  1. 51 Nod Bash 游戏v2

    1067 Bash游戏 V2  基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  取消关注 有一堆石子共有N个.A B两个人轮流拿,A先拿.每次只能拿1,3 ...

  2. Spring Boot教程(三十)使用Spring-data-jpa(1)

    在实际开发过程中,对数据库的操作无非就“增删改查”.就最为普遍的单表操作而言,除了表和字段不同外,语句都是类似的,开发人员需要写大量类似而枯燥的语句来完成业务逻辑. 为了解决这些大量枯燥的数据操作语句 ...

  3. R_Studio(聚类)针对iris数据比较几种聚类方法优劣

    聚类分析 百度百科:传送门 聚类分析指将物理或抽象对象的集合分组为由类似的对象组成的多个类的分析过程 聚类与分类的不同在于,聚类所要求划分的类是未知的 聚类分析是一种探索性的分析,在分类的过程中,人们 ...

  4. C++入门经典-例2.14-使用移位运算

    1:代码如下: // 2.14.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> usin ...

  5. android gradle,groovy--https://blog.csdn.net/hebbely/article/details/79074460

    android grale,groovyhttps://blog.csdn.net/hebbely/article/details/79074460 Gradle编译时报错:gradle:peer n ...

  6. C#文件压缩:ICSharpCode.SharpZipLib生成zip、tar、tar.gz

    原文地址:https://blog.csdn.net/nihao198503/article/details/9204115 将代码原封不动的copy过来,只是因为有关tar的文章太少,大多都是zip ...

  7. spark 笔记 3:Delay Scheduling: A Simple Technique for Achieving Locality and Fairness in Cluster Scheduling

    spark论文中说他使用了延迟调度算法,源于这篇论文:http://people.csail.mit.edu/matei/papers/2010/eurosys_delay_scheduling.pd ...

  8. PHP CI 框架简单使用(二)

    我们简单认识一下CI框架的MVC.示例代码如下 //CI控制器文件Home.php <?php defined('BASEPATH') OR exit('No direct script acc ...

  9. Uep的静态下拉和动态下拉建立

    uep的静态下拉和动态下拉的建立极其省事,下面介绍静态下拉的建立 静态下拉 第一步:点击增加,输入信息 第二步: 第三步:保存 第四部: 静态下拉就建立完毕了 下面介绍动态下啦建立,动态下拉更简单 动 ...

  10. deepClone deepCompare

    一.深度复制 // 深度复制 function deepClone(datas) { if (typeof datas !== 'object' || datas === null) return d ...