Kafka工具類

今天在使用的Kafka的時候,發現新版的Kafka中的ZKUtils方法顯示已過時,查閱了資料發現ZKUtils方法已經被AdminClient替代了。

官網上關於AdminClient的介紹是:The AdminClient API supports managing and inspecting topics, brokers, acls, and other Kafka objects.,詳情可參見官網文檔。

主要功能包括:

創建Topic:createTopics(Collection newTopics)
刪除Topic:deleteTopics(Collection topics)
顯示所有Topic:listTopics()
查詢Topic:describeTopics(Collection topicNames)
查詢集羣信息:describeCluster()
查詢ACL信息:describeAcls(AclBindingFilter filter)
創建ACL信息:createAcls(Collection acls)
刪除ACL信息:deleteAcls(Collection filters)
查詢配置信息:describeConfigs(Collection resources)
修改配置信息:alterConfigs(Map<ConfigResource, Config> configs)
修改副本的日誌目錄:alterReplicaLogDirs(Map<TopicPartitionReplica, String> replicaAssignment)
查詢節點的日誌目錄信息:describeLogDirs(Collection brokers)
查詢副本的日誌目錄信息:describeReplicaLogDirs(Collection replicas)
增加分區:createPartitions(Map<String, NewPartitions> newPartitions)

使用示例:

public static void createTopic(String topic){

    try {
        AdminClient adminClient;
        Properties properties = new Properties();
        properties.put(CommonClientConfigs.BOOTSTRAP_SERVERS_CONFIG, 
        KafkaProperyies.Broker_List);
        adminClient = AdminClient.create(properties);
        NewTopic newTopic = new NewTopic(topic,2,(short)2);
        adminClient.createTopics(Arrays.asList(newTopic));
        adminClient.close();
        System.out.println("創建主題成功:"+topic);
    }catch (Exception ex){
        ex.printStackTrace();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章