[ 
https://issues.apache.org/jira/browse/KAFKA-18775?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17926627#comment-17926627
 ] 

Kuan Po Tseng commented on KAFKA-18775:
---------------------------------------

Hi [~chia7712] , are you working on this issue? If not, may I take over it? 
Thank you!

> MetadataQuorumCommand `add-controller`/`remove-controller` should get 
> directory id and endpoint by Admin
> --------------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-18775
>                 URL: https://issues.apache.org/jira/browse/KAFKA-18775
>             Project: Kafka
>          Issue Type: Sub-task
>            Reporter: Chia-Ping Tsai
>            Assignee: Chia-Ping Tsai
>            Priority: Major
>              Labels: need-kip
>
> Currently, users are required to provide controller.properties to the 
> MetadataQuorumCommand. This necessitates the MetadataQuorumCommand to parse 
> the config to obtain the metadata local path and endpoint for adding or 
> removing voters. This approach has several drawbacks:
> 1. Limited Accessibility: The node executing the tool must have direct access 
> to the metadata path of the node being added or removed. This restricts the 
> ability to use node A to manage node B, as node A may not have access to the 
> metadata folder on node B.
> 2. Dependency on Node Configuration: The tool requires access to the 
> configuration of the node being managed
> However, the essential information for these operations – the "directory 
> UUID" and the "endpoints" – can be obtained through the Admin API.
> 1. The Admin#describeMetadataQuorum method can provide the directory UUID.
> 2. The Admin#describeConfigs method, utilizing the bootstrap.controller 
> address, can be used to retrieve the necessary endpoints.
> Based on this observation, I propose a new, simplified approach for 
> adding/removing voters using the MetadataQuorumCommand.
> ```
> bin/kafka-metadata-quorum --bootstrap-controller localhost:9092 
> add-controller --controller-id <id>
> ```
> This not only simplifies the command line but also enables us to run it on 
> different nodes.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to