使用Java API创建(create),查看(describe),列举(list),删除(delete)Kafka主题(Topic)

使用Kafka的同学都知道,我们每次创建Kafka主题(Topic)的时候可以指定分区数和副本数等信息,如果将这些属性配置到server.properties文件中,以后调用Java API生成的主题将使用默认值,先改变需要使用命令bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic my-topic --config max.message.bytes=128000显示的修改,我们也希望将此过程在Producer调用之前通过API的方式进行设定,无需在之前或之后使用脚本进行操作,所以才了这篇文章。查看源码发现,其实内部所有的实现都是通过TopicCommand的main方法,在此记录两种方式:

1、创建主题(Topic)

【命令方式】:bin/kafka-topics.sh --zookeeper zk_host:port/chroot --create --topic my_topic_name --partitions 20 --replication-factor 3 --config x=y

【JAVA API方式】:

[java] view plaincopy

  1. String[] options = new String[]{
  2. "--create",
  3. "--zookeeper",
  4. "zk_host:port/chroot",
  5. "--partitions",
  6. "20",
  7. "--topic",
  8. "my_topic_name",
  9. "--replication-factor",
  10. "3",
  11. "--config",
  12. "x=y"
  13. };
  14. TopicCommand.main(options);

2、查看所有主题

【命令方式】:bin/kafka-topics.sh --list --zookeeper localhost:2181

【JAVA API方式】:

[java] view plaincopy

  1. String[] options = new String[]{
  2. "--list",
  3. "--zookeeper",
  4. "localhost:2181"
  5. };
  6. TopicCommand.main(options);

3、查看指定主题:

【命令方式】:bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic

【JAVA API方式】:

[java] view plaincopy

  1. String[] options = new String[]{
  2. "--describe",
  3. "--zookeeper",
  4. "localhost:2181",
  5. "--topic",
  6. "my-replicated-topic",
  7. };
  8. TopicCommand.main(options);

4、修改主题:

【命令方式】:bin/kafka-topics.sh --zookeeper zk_host:port/chroot --alter --topic my_topic_name --deleteConfig x
【JAVA API方式】:

[java] view plaincopy

  1. String[] options = new String[]{
  2. "--alter",
  3. "--zookeeper",
  4. "zk_host:port/chroot",
  5. "--topic",
  6. "my_topic_name",
  7. "--deleteConfig",
  8. "x"
  9. };
  10. TopicCommand.main(options);

5、删除出题:

【命令方式】:无

【JAVA API方式】:

[java] view plaincopy

    1. String[] options = new String[]{
    2. "--zookeeper",
    3. "zk_host:port/chroot",
    4. "--topic",
    5. "my_topic_name"
    6. };
    7. DeleteTopicCommand.main(options);
时间: 2024-10-11 01:22:10

使用Java API创建(create),查看(describe),列举(list),删除(delete)Kafka主题(Topic)的相关文章

Mysql基础知识:创建、查看、修改和删除表

Mysql 创建.查看.修改和删除表 1. 创建表 创建表的语法形式: CREATE TABLE 表名 ( 属性名 数据类型 约束条件, 属性名 数据类型 约束条件, . . . ) ENGINE=存储引擎名 DEFAULT CHARSET=字符编码名; 约束条件表: 注意: 1)可以添加多个主键.形式: 在表名后的括号内添加:PRIMARY KEY(字段名1, 字段名2, ...): 2)存储引擎和字符编码可以省略不写: 3)设置表的字段名为默认值时,需要在 “DEFULT” 关键字后添加 “

Zookeeper通过java创建、查看、修改、删除znode

本章主要介绍zookeeper如何使用,其实通过zkCli.cmd我们是可以执行一些操作的:声明:参考及转自<http://www.blogjava.net/BucketLi/archive/2010/12/21/341268.html> 通过zkCli.cmd来操作zookeeper: 进入D:\Work\zookeeper\zookeeper-3.4.8\bin的路径下,在cmd下输入命令:zkCli.sh –server 127.0.0.1:2182,之后通过help命令可以查看到zkC

Elastic Search Java Api 创建索引结构,添加索引

创建TCP客户端 Client client = new TransportClient() .addTransportAddress(new InetSocketTransportAddress( "localhost", 9300)); 创建索引 client.admin().indices().prepareCreate("pages").execute().actionGet(); 创建索引结构 XContentBuilder builder=XConten

mysql表的创建、查看、修改、删除

一.创建表 创建表前先使用use 数据库名进入某一个数据库,创建表语句的格式如下: create table 表名称 ( 列名1 列的数据类型 [约束], 列名2 列的数据类型 [约束], 列名2 列的数据类型 [约束], ... 列名N 列的数据类型 [约束] ); #注意:最后一个末尾没有逗号 比如创建一个表名称为students,有name和age两列的表的命令为: create table students ( name varchar(20), age INTEGER ); 创建完之后

使用java API查询java类

一.java API的下载地址 前面列举了常用的java类,但只是介绍了功能,具体详细的用法(比如要知道该类的属性和方法)要需要调用java的API(Application Program Interface应用程序接口)进行查询. 使用API程序进行查询有两种方法,一种是下载专门的API文件,下载到本地进行查看,一种是使用在线的API网页进行查询. 本地API下载地址 Java se 6中文版电驴下载连接: ed2k://|file|%5BJava%E5%8F%82%E8%80%83%E6%9

笔记:MyBatis 使用 Java API配置

我们已经讨论了各种MyBatis配置元素,如envronments.typeAlias和typeHandlers,以及如何使用XML配置它们.即使你想使用基于JavaAPI的MyBatis配置,MyBatis的SqlSessionFactory接口除了使用基于XML的配置创建外也可以通过Java API 编程式地被创建.每个在XML中配置的元素,都可以编程式的创建.使用Java API创建SqlSessionFactory,代码如下: ? ? ????public?static?SqlSessi

ElasticSearch Java Api -创建索引

ElasticSearch JAVA API官网文档:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-index.html 一.生成JSON 创建索引的第一步是要把对象转换为JSON字符串.官网给出了四种创建JSON文档的方法: 1.1手写方式生成 String json = "{" + "\"user\":\"kimchy\"

IDEA 创建HDFS项目 JAVA api

1.创建quickMaven 1.在properties中写hadoop 的版本号并且通过EL表达式的方式映射到dependency中 2.写一个repostory将依赖加载到本地仓库中 这是加载完成的页面 这是开发代码 package com.kevin.hadoop; import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.*;import org.apache.hadoop.io.IOUtils;imp

HBase 常用java api获得客户端,创建表,查询,删除

1,前期准备 (1) 本文采用的hbase是采用三台服务器搭建的集群,zookeeper也是相同服务器搭建的集群,集群ip分别是192.168.183.101: 192.168.183.102: 192.168.183.103.其中102是主节点(HMaster),101以及103都是HRegionServer (2) 这次测试安装的hbase的版本是 hbase-0.99.2.-bin.tar (3)java api引用的maven依赖路径如下 <dependency> <groupI