kafka学习(二)--topic 的增删查操作

kafka 的 topic 支持增(create)删(delete)改(alter)查(describe)操作。

./kafka-topics.sh [--help]   可以查看 kafka-topics 命令的使用方法

注意:敲命令的时候不要敲错否则会报错还不知道自己错哪儿了 ,比如这样

比如这样

为此还专门看一下下载的版本,确认是稳定版没错了!

--list(查)和 --describe(查)

--list 查看目前所有的 topic 有哪些

--describe 查看某个 topic 的详细信息

./kafka-topics.sh --list  --zoopkeeper 42.194.146.126:2181

由于 kafka 是依赖 zookeeper 的,需要从某个 zookeeper 上去存入或者获取 kafka 的信息,因此进行增删改查的时候都需要首先指定连接哪个 zookeeper。如果没指定 zookeeper 的 ip 和端口就会报错。

第一次使用 --list 由于没有创建 topic 因此返回为空

--create(增)

./kafka-topics.sh  --zookeeper 42.194.146.126:2181 --create --topic firstTopic --partitions 3 --replication-factor 2

其中 --topic 指定 topic 的名字,--partitions 指定分区数,--replication-factor 指定副本数。

 

现在用 --list 和 --describe 就可以查到 firstTopic 这个 topic 的信息了

--delete(删)

./kafka-topics.sh  --zookeeper 42.194.146.126:2181 --delete --topic firstTopic

从返回的信息也可以看到,如果 delete.topic.enable 没有设置为 true 的话,这个删除也只是标记删除,并没有真正删除。 因此如果再添加同样的 topic 就会报错。

我们仍然可以查到这个 topic 的信息,但会多一列 markedForDeletion = true 

 

 注意:--topic 用来指定特定的 topic,因此,增删改查发现报错的时候,不妨加上 --topic 来指定 topic 试试。

值得注意的

kafka 中主分区(leader)的备分区(follwer)不能在同个 broker 上,一般都是分布在不同的 broker 上,这也是考虑到高可用性,因此,topic 的 副本数 不能超过 breoker 数。

 修改分区数为 4 副本数为 2 可以成功创建 

使用 --list 查看一下 

 每个 broker 的 topic 数据就保存在配置文件 server.properties 指定的 logs.dir 目录下

明明规则是 topicName-partition 

由于 secondTopic 有 4 个分区 ,可以看到,这个 broker 上保存了其中的 0,2,3 这 3 个分区。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值