kafka总结。。。

kafka的版本信息: kafka_2.10-0.10.0.1  zookeeper-3.4.7

首先说明kafka里面的关键概念:

broker:kafka 集群中包含的服务器。 broker (经纪人,消费转发服务)

consumer:从 kafka 集群中消费消息的终端或服务

producer: 消息生产者,发布消息到 kafka 集群的终端或服务。

topic:每条发布到 kafka 集群的消息属于的类别,即 kafka 是面向 topic 的

partition:partition 是物理上的概念,每个 topic 包含一个或多个 partition。 kafka 分配的单位是partition。分区存储的好处是保证数据的分布式存储,而且也是有利于数据存储的负载均衡。分区的底层是队列的形式。

leader:replica 中的一个角色, producer 和 consumer 只跟 leader 交互。

follower:replica 中的一个角色,从 leader 中复制数据。

consumer-group:high-level consumer API 中,每个 consumer 都属于一个 consumer group,每条消息只能被
consumer group 中的一个 Consumer 消费,但可以被多个 consumer group 消费。

组间共享 ,组内竞争。

controller:kafka 集群中的其中一个服务器,用来进行 leader election 以及 各种 failover。

zookeeper:kafka 通过 zookeeper 来存储集群的 meta 信息。

replica:partition 的副本,保障 partition 的高可用。

先是启动kafka的一台broker做测试  创建新的topic one_broker_topic 副本replica 数目大于brokers的有效数据会报错的

./kafka-topics.sh --create --zookeeper mini10:2181 --replication-factor 2 --partitions 1 --topic one_broker_topic_error

报错:

./kafka-topics.sh --create --zookeeper mini10:2181 --replication-factor 1 --partitions 2 --topic one_broker_topicss  对应两个分区

在kafka存储数据的目录下面产生的文件夹:

所以说分区的数据对应在么一个broker上main都会有对应数目的文件夹  比如:

2个分区1个副本  在broker01上面就会有 topicss-0 topiss-1  

3个分区,2个副本,2个broker 在broker01上面的

在broker02上面的信息:

接下来,解析一下topic和patiotin的关系,下面的两幅图来自kafka官网:官网

                                                图1

                                                    图2

Topic:每一条发送到kafka集群的数据都有一个topic主题,生产的每一条信息都是必须要指明到那个topic里面去,他可以看成是一个队里queue,

partition:数物理概念,每一个topic都有多个partition, 多个partition可以提高kafka的吞吐量。每一个partition物理删对应一个文件夹,在每一个文件夹下面包含一个.log文件和一个.index索引文件。

每条消息是追加到partition的末尾的,属于顺序写磁盘,所以效率会是非常的高的,这个特点保证了kafka是具有高吞吐率的性能的。

kafka和flume的区别是 ,kafka可以存储数据的,那么它存储的数据是永远存在的,但是考虑到磁盘的利用情况,kafka上面存储的数据是可以定期删除的。怎么配置呢?两种策略:一种是基于时间的,还有一种是基partition文件的大小的。分别是在$KAFKA_HOME/config/server.conf 下面配置:

log.retention.hours=168 基于一周时间

log.segment.bytes=1073741824  基于1GB大小
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值