Github user HungUnicorn commented on the issue:

    https://github.com/apache/flink/pull/1962
  
    Using the sniffing feature of transport client can achieve this.
    The client will connect to all existing nodes and the connected list is 
updated every 5 seconds. It can fit our case because we will only have to 
specify one ip, and we will obtain a list of ips which updated periodically. 
It's done by
    `Settings settings = 
Settings.settingsBuilder().put(userConfig).put("client.transport.sniff", 
true).build();`
    
    Explanation:
    > The Transport client comes with a cluster sniffing feature which allows 
it to dynamically add new hosts and remove old ones. When sniffing is enabled 
the the transport client will connect to the nodes in its internal node list, 
which is built via calls to addTransportAddress. After this, the client will 
call the internal cluster state API on those nodes to discover available data 
nodes. The internal node list of the client will be replaced with those data 
nodes only. This list is refreshed every five seconds by default. 
    
    Source:
    
https://www.elastic.co/guide/en/elasticsearch/client/java-api/2.3//transport-client.html


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to