登录 |  注册
首页 >  中间件 · 框架 >  Kafka基础教程·入门学习笔记 >  Kafka主题的创建和修改

Kafka主题的创建和修改

kafkatopics.jpg

主题的创建

创建主题的更加推荐采用脚本的方式,位置为:

./bin/kafka-topics.sh

# 下面是通过命令指定分区数和副本数

./kafka-topics.sh  --zookeeper localhost:2181  --create   --topic testTopic --partitions 1  --replication-factor 1

PS: 创建topic时,分区数为num.partitions(默认1),副本因子为default.replication.factor

其中日志路径下查看broker的分配信息,也可以在ZooKeeper中获取分配信息:

[zk: localhost:2181(CONNECTED) 3] get /brokers/topics/testTopic-1
{"version":1,"partitions":{"0":[0]}}
cZxid = 0xd3
ctime = Sat Jul 20 09:57:21 CST 2019
mZxid = 0xd3
mtime = Sat Jul 20 09:57:21 CST 2019
pZxid = 0xd4
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 36
numChildren = 1

afka-topics.sh可以执行多种类型的topic操作,包括create、delete、alter、list、describe。

主题的修改

# create 新增主题

./kafka-topics.sh  --zookeeper localhost:2181  --create   --topic testTopic --partitions 1  --replication-factor 1

# 删除主题

./kafka-topics.sh  --zookeeper   localhost:2181  --delete --topic testTopic-2
Topic testTopic-2 is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.

自重删除不是立刻删除,而且delete.topic.enable为false的时候,删除操作是没有作用的。

主题的查看

查看主题详情:展示主题,分区数,副本数(AR),Leader副本所在broker,ISR等信息

./kafka-topics.sh --zookeeper localhost:2181 --describe --topic testTopic
Topic:testTopic PartitionCount:1    ReplicationFactor:1 Configs:
    Topic: testTopic    Partition: 0    Leader: 0   Replicas: 0 Isr: 0

如果没有指定--topic则会展示全部主题信息

Java接入kafka代码

有相应的Java API对应kafka-topics.sh脚本实现的功能。

public class CreateTopic {
    public static final String BROKER_LIST = "192.168.13.53:2181";
    public static void main(String[] args) {
        String[] options = new String[]{
                "--zookeeper", BROKER_LIST,
                "--create",
                "--replication-factor", "1",
                "--partitions", "1",
                "--topic", "topic-1"
        };
        TopicCommand.main(options);
    }
}
上一篇: Kafka消费者组示例
推荐文章
  • 一、Kafka简介Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、sto
  • 1.环境清单CentOS7 Java8 Maven3.5 MySQL5.7 CAT2.0.0 Tomcat7.02.安装CAT2.0下载CAT安装包:CAT的官方github地址:https://github.com/dianping/cat/tree/master打开页面之后,进行如下操作:2.1
  • 一.安装并启动sendmailyum install -y sendmail systemctl start sendmail二.修改Grafana配置文件,设置发件人vim /etc/grafana/grafana.ini在[smtp]标签下修改配置[smtp] enabled = true ho
  • 想用最简单的方式去理解Elasticsearch能为你做什么,那就是使用它了,让我们开始吧!安装并运行Elasticsearch安装Elasticsearch之前,你需要先安装一个较新的版本的Java,最好的选择是,你可以从www.java.com获得官方提供的最新版本的Java。之后,你可以从el
  • 简介:Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为ElasticStack的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。版本说明Java环境:JDK1.8.0Elasticsearch:7.2.1OS环境:wi
  • Java9、Java10、Java12和Java13均为短期版本。我们建议您不要使用以上版本,除非您准备好应对这种快速发布节奏。有关JVM支持,请参见Oracle的时间表,网址为:http://www.oracle.com/technetwork/java/eol-135779.html**Elas
学习大纲