...
Expand | ||
---|---|---|
| ||
public class AdminClient { /** * A client is instantiated by providing a set of key-value pairs as configuration. Most * of the settings will be related to NetworkClient * * @param properties settings related to Network client and at least one broker from KafkaCluster to connect to */ public AdminClient(Properties properties) /** * Initiates topics creation. * This is an asynchronous call, it returns immediately once the server has accepted request and stored respective data in zookeeper. * To simulate a simple blocking call Future.get can be called. This will ensure that metadata about newly created topics was propagated * to all brokers * * @param createTopicRequestBody holder (built by means of respective Builder) of all required arguments to create topics * @return java.util.concurrent.Future which holds topics creation result - a map topic-name - error code * * @throws ApiException in case of global error, which means topic creation was not even started */ public Future<Map<String, Errors>> createTopics(CreateTopicRequestBody createTopicRequestBody) throws ApiException; /** * Initiates topics alteration. * This is an asynchronous call, it returns immediately once the server has accepted request and stored/changed respective data in zookeeper. * To simulate a simple blocking call Future.get can be called. This will ensure that updated metadata about altered topics was propagated * to all brokers * * @param alterTopicRequestBody holder (built by means of respective Builder) of all required arguments to alter topics * @return java.util.concurrent.Future which holds topics alteration result - a map topic-name - error code * * @throws ApiException in case of global error, which means topic creation was not even started */ public Future<Map<String, Errors>> alterTopics(AlterTopicRequestBody alterTopicRequestBody) throws ApiException; /** * Initiates topic deletion. * This is an asynchronous call, it returns immediately once server has accepted request and marked requested topics for deletion in zookeeper. * To simulate a simple blocking call Future.get can be called. This will ensure that metadata with updated topic list was propagated to * all brokers * * @param topics topic names to be deleted * @return java.util.concurrent.Future which holds topics deletion result - a map topic-name - error code * * @throws ApiException in case of global error, which means topic deletion was not even started */ public Future<Map<String, Errors>> deleteTopics(List<String> topics) throws ApiException; /** * Lists all available topics in Kafka cluster. * Topic is considered available if all brokers in cluster have received and cached metadata about it * * @return list of topic names * * @throws ApiException */ public List<String> listTopics() throws ApiException; /** * Checks whether topic with the given name exists * * @param topic name to be checked * @return true if all brokers in cluster have received and cached metadata about it * * @throws ApiException */ public boolean topicExists(String topic) throws ApiException; /** * TODO: not finalized yet * Request replication information about Kafka topics * * @return a mapping between topic name and topic description * @throws ApiException in case of global error, which means topic description cannot be fetched for all topics */ public Map<String, DescribeTopicOutput> describeTopics(List<String> topicNames) throws ApiException; /** * Initiates long-running reassign partitions procedure. * This is an asynchronous call, it returns immediately once server has accepted request, and created admin path in zookeeper. * To simulate a simple blocking call Future.get can be called. This will ensure all that all partitions reassignments have completed. * Note: currently there are only two possible states for reassigned partition: Completed, In Progress. * * @param reassignment schema among which replicas partitions will be reassigned * * @return java.util.concurrent.Future which is completed once all partitions have been reassigned * * @throws ApiException in case partition reassignment wasn't initiated on server */ public Future<Void> reassignPartitions(Map<String, Map<Integer, List<Integer>>> reassignment) throws ApiException;
} |
4. Interactive Shell / CLI tool
...