kafka 名次解释,以及docker搭建kafka

kafka介绍

在这里插入图片描述

topic 和partition

Partition,在 Kafka 中是分区的意思。分区,提高了Kafka的并发,也解决了Topic中数据的负载均衡。

即:Kafka 中每个 Topic 可以划分多个分区(每个 Topic 至少有一个分区),同一个 Topic 下的不同分区包含的消息是不同的(分区可以间接理解成数据库的分表操作)。

这样就类似于数据库的分库分表的概念,将数据做了分片处理操作

在这里插入图片描述

offset

每个消息在被添加到分区的时候,都会被分配一个 offset (偏移量),它是消息在当前分区中的唯一编号。Kafka 通过 offset 可以保证消息在分区中的顺序性,但是跨分区是无序的,即 Kafka 只保证在同一个分区内的消息是有序的。

topic,patition,broker

一个topic对应多个partition,partition分布在多broker上,多broker一起提供kafka服务。

kafka中,Topic是一个存储消息的逻辑概念,可认为为一个消息的集合。物理上,不同Topic的消息分开存储,每个Topic可划分多个partition,同一个Topic下的不同的partition包含不同消息。每个消息被添加至分区时,分配唯一offset,以此保证partition内消息的顺序性。

kafka中,以broker区分集群内服务器,同一个topic下,多个partition经hash到不同的broker。

broker在kafka的服务端运行,一台服务器相当于一个broker;每个broker下可以有多个topic,每个topic可以有多个partition,在producer端可以对消息进行分区,每个partiton可以有多个副本,可以使得数据不丢失。

docker搭建kafka

wurstmeister/zookeeper

wurstmeister/kafka

通过kafka-manager去管理

docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
docker pull sheepkiller/kafka-manager

先装zookeeper
docker run -d --name zookeeper --publish 2181:2181 \--volume /etc/localtime:/etc/localtime \--restart=always \wurstmeister/zookeeper

docker run -d --name kafka --publish 9082:9092 --link zookeeper:zookeeper --env KAFKA_BROKER_ID=100 --env HOST_IP=43.143.120.78 --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=43.143.120.78 --env KAFKA_ADVERTISED_PORT=9082 --restart=always --volume /etc/localtime:/etc/localtime wurstmeister/kafka

docker run -d --name kafka-manager \--link zookeeper:zookeeper \--link kafka:kafka -p 9001:9000 \--restart=always \--env ZK_HOSTS=zookeeper:2181 \sheepkiller/kafka-manager

zookeeper新建cluster出错

Kafka-manager出现错误,Yikes! Ask timed out on [ActorSelection[Anchor(akka://kafka-manager-system/)

没有配zookeeper的防火墙端口号

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值