主题通常位于代理(服务器进程)中,并且有多个分区,但是它可以跨多个代理或节点(计算机)吗?
即,假设一个主题分为两个分区,分区-1和分区-2。 partition-1是否属于broker-1,同一主题的partition-2是否属于不同的broker-2或者不同的节点?
答案 0 :(得分:4)
Kafka群集包含一个或多个服务器( Kafka经纪人)。
每个经纪人可以有一个或多个主题。 Kafka主题分为多个分区,每个分区可以放在单个或单独的机器上,以允许多个消费者并行地从主题中读取。
答案 1 :(得分:3)
是的,主题的不同分区可以存储在多台计算机中。但是,单个分区必须完全存储在一台机器中。
答案 2 :(得分:0)
kafka主题跨多个代理复制,因此多个使用者可以并行接收数据,或者如果一个代理发生故障,则可以从具有相同主题分区的其他代理检索数据。
答案 3 :(得分:0)
Kafka Broker 的名称表示接收请求并执行特定操作的控制器或服务器的类型。例如,Kafka经纪人从生产者那里接收消息,并将它们存储在以唯一偏移量为键的磁盘上。经纪人可以根据请求从主题,分区和偏移量向消费者响应唯一消息
每当我们想到Kafka Broker时,它都不是单个单元,而是使用ZooKeeper共享信息的服务器组。 Kafka Brokers不在一台机器上,而是能够在分布式集群环境中分布。由Zookeeper协调在集群上部署的这组代理可以可视化 Kafka集群。 经纪人是Kafka Cluster的心脏,它是消费者,生产者,汇流连接器等外部单词的连接器。
Kafka主题包含多个分区,这些分区分布在各个Broker中。一个分区可被视为领导者,另一个分区将被视为跟随者,在另一个代理中,消息将使用ISR复制。
您可以使用“重新分配分区工具”来分配领导者分区,您可以在下面的链接中获得更多信息
https://cwiki.apache.org/confluence/display/KAFKA/Replication+tools