Kafka的主题

主题管理

创建主题

使用命令:

./kafka-topics.sh --bootstrap-server localhost:9092 --create --topic mytopic1 --partition 2 --replication-factor 1
# --replication-factor 用于设置主题副本数,每个副本分布在不同节点,不能超过总节点数。

查看主题

# 查看所有主题
./kafka-topics.sh --list --bootstrap-server localhost:9092
# 查看某个特定主题信息
./kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic mytopic1

删除主题

如果delete.topic.enable=true,直接彻底删除该topic。
如果delete.topic.enable=false,如果topic没有使用过即没有传输过信息,可以彻底删除;如果当前topic有使用过即有过传输信息,并没有真正删除topic只是把这个topic标记为删除,重启Kafka server后删除。

./kafka-topics.sh --delete --bootstrap-server localhost:9092 --topic mytopic1

修改主题

# 增加配置
./kafka-topics.sh --alter --bootstrap-server localhost:9092 --topic mytopic1 --config flush.messages=1
# 删除配置
./kafka-topics.sh --alter --bootstrap-server localhost:9092 --topic mytopic1 --delete-config flush.messages

增加分区

# 修改分区时,只能增加,不能减少
./kafka-topics.sh --alter --bootstrap-server localhost:9092 --topic mytopic1 --partitions 3

KafkaAdminClient

除了使用Kafka的bin目录下的脚本工具来管理kafka,有些时候需要将某些管理查看的功能集成到系统,那么就需要调用一些API来操作Kafka。

public static void addTopicPartitions() throw ExecutionException,InterruptedException {
	String brokerList = "127.0.0.1:9092";
	String topic = "mytopic1";
	Properties props = new Properties();
	props.put(AdminClientConfig,BOOTSTRAP_SERVERS_CONFIG,brokerList);
	props.put(AdminClientConfig,REQUEST_TIMEOUT_MS_CONFIG,30000);
	AdminClient client = AdminClient.create(props);

	NewPartitions newPartitions = NewPartitions.increaseTo(3);
	Map<String,NewPartitions> newPartitionsMap = new HashMap<>();
	newPartitionsMap.put(topic,newPartitions);
	CreatePartitionsResult result = client.createPartitions(newPartitionsMap);
	result.all().get();
	client.close();
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值