1

J'utilise le client de noeud ElasticSearch pour effectuer des requêtes, mais je veux vous connecter à une autre adresse IP puis localhost, je veux atteindre cetcomment se connecter à différents hôtes en ElasticSearch utilisant nœud client

Client client = TransportClient.builder().build() 
     .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300)) 
     .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host2"), 9300)); 

chose dans le noeud client

Node node = nodeBuilder().clusterName("yourcluster").client(true).node(); 
Client client = node.client(); 

s'il vous plaît aidez-moi, je veux utiliser Node Client avec d'autres hôtes ne TransportClient

Répondre

1

client Node automatiquement Dıs couvre tous les nœuds du cluster car il fait partie du cluster lui-même, vous n'avez pas besoin de lister les hôtes manuellement. Mais si votre cluster réside dans un autre réseau qui ne peut pas être détecté automatiquement, vous pouvez également spécifier au moins un hôte de cluster avec des paramètres.

Settings.Builder settings = Settings.builder() 
.put("path.home", ".") 
.put("discovery.zen.ping.unicast.hosts","192.168.1.1"); 

Node node = NodeBuilder.nodeBuilder().settings(settings) 
     .clusterName("elasticsearch") 
     .client(true) 
     .node(); 

https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html

+0

mais si je veux me connecter à une adresse IP de différent? – swaheed

+0

si le serveur elasticsearch s'exécute sur une adresse IP 192.168.1.2 et que l'application qui crée un client se trouve sur un autre serveur, par exemple 192.168.1.4, alors comment notre application sait-elle que le serveur Elasticsearch fonctionne sur cette adresse IP 192.168.1.2? – swaheed