...
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 * @returns@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 * @returns@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 * @returns@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 * * @returns@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 * @returns@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 * * @returns@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 @paramcall partitionsReassignmentFuture.get manualcan partitionsbe assignmentcalled. stringThis (accordingwill toensure ReassignPartitionsCommand) all that all partitions reassignments *have completed. @return future of the reassignment result* whichNote: iscurrently completedthere onceare server-sideonly partitionstwo reassignmentpossible hasstates succeededfor or reassigned partition: Completed, In Progress. * an error occurred so* that partitions reassignment cannot be* started @param reassignment schema among which *replicas @throwspartitions ApiExceptionwill in case partition reassignment wasn't initiated on serverbe reassigned * / public Future<ReassignPartitionsResponse> reassignPartitions(Map<String, Map<Integer, List<Integer>>>) throws ApiException; /*** @return java.util.concurrent.Future which is completed once all partitions have been reassigned * Checks the* interim@throws statusApiException ofin thecase partitionspartition reassignment wasn't initiated on *server * @param/ partitionsReassignment manual partitions assignmentpublic stringFuture<Void> reassignPartitions(accordingMap<String, to ReassignPartitionsCommand) * @return partition to reassignment result code (completed, in-progress, failed) * @throws ApiException in case reassignment verification wasn't initiated on server */ public Map<TopicPartition, Short> verifyReassignPartitions(String partitionsReassignment) throws ApiException; /** * Initiate long-running preferred replica leader election procedure * * @param partitions serialized partitions for which preferred replica leader election will be started * (according to PreferredReplicaLeaderElectionCommand) * @return future of the election result which is completed once server-side preferred replica is elected for provided partitions or * an error has occurred * @throws ApiException in case preferred replica procedure wasn't initiated on server */ public Future<PreferredReplicaLeaderElectionResponse> preferredReplicaLeaderElection(String partitions) throws ApiException; /** * Check the interim status of the preferred replica leader election * * @param partitions for which preferred replica leader election was started (according to PreferredReplicaLeaderElectionCommand) * @return partition to reassignment result code (completed, in-progress, failed) * @throws ApiException in case procedure verification wasn't started on server */ public VerifyPreferredReplicaLeaderElectionResponse verifyPreferredReplicaLeaderElection(String partitions) throws Map<Integer, List<Integer>>> reassignment) throws ApiException;
} |
4. Interactive Shell / CLI tool
...