I agree with you that in single node environment only transport layer should be used. But I want to know how to make node client work because maybe I will need it in future and I want to know what I can do with elastic java api.
Вторник, 17 марта 2015, 11:56 -06:00 от Aaron Mefford <aa...@definemg.com>: >What is the advantage you expect from using the Node client, especially in a >single node environment? > >With client.transport.sniff true it should discover the other nodes, if other >nodes exist. > >On Tue, Mar 17, 2015 at 11:42 AM, Александр Свиридов < ooo_satu...@mail.ru > >wrote: >>Thank you. I did this way: >> >> Settings settings = ImmutableSettings.settingsBuilder() >> .put(" cluster.name ", "elasticsearch") >> .put("client.transport.sniff", true).build(); >> >> Client client = new TransportClient(settings) >> .addTransportAddress(new >>InetSocketTransportAddress("localhost",9300)); >> >>And everything works fine. So, both cluster and index exist. >> >>However, as I understand it is not node client. What you sugget is transport >>client. Now I want to understand how to make node client work. >> >> >>Вторник, 17 марта 2015, 11:26 -06:00 от Aaron Mefford < aa...@definemg.com >: >>>This is what I use in my code, not sure how correct it is given the abysmal >>>state of the the Java API documentation. >>> >>>import org.elasticsearch.common.settings.Settings; >>>import org.elasticsearch.common.settings.ImmutableSettings; >>>import org.elasticsearch.client.Client; >>>import org.elasticsearch.client.transport.TransportClient; >>>import org.elasticsearch.common.transport.InetSocketTransportAddress; >>> >>> >>> >>> Settings settings = ImmutableSettings.settingsBuilder() >>> .put(" cluster.name ", elasticClusterName) >>> .put("client.transport.sniff", true).build(); >>> >>> esClient = new TransportClient(settings) >>> .addTransportAddress(new >>>InetSocketTransportAddress(elasticHost,elasticPort)); >>> >>> >>>On Tue, Mar 17, 2015 at 11:19 AM, Александр Свиридов < ooo_satu...@mail.ru >>>> wrote: >>>>I am quite newbie to elactis. Could you explain with java code what you >>>>mean? >>>> >>>> >>>>Вторник, 17 марта 2015, 9:46 -07:00 от aa...@definemg.com : >>>>>Is there a reason not to just specify the IP address and to try and rely >>>>>on multicast? >>>>> >>>>>I realize this is all on one node as you have stated that, but that seems >>>>>even more reason that it would be little issue to specify the IP. While >>>>>multicast makes it easy to stand up a cluster in an ideal situation, my >>>>>experience has been that it leads to more problems down the road, and >>>>>things generally work better when not using multicast. I heard the same >>>>>suggestion repeatedly at Elastic{on}. >>>>> >>>>>Aaron >>>>> >>>>>On Tuesday, March 17, 2015 at 9:25:46 AM UTC-6, ooo_saturn7 wrote: >>>>>>I have one physical server and I work only on it (no other servers). >>>>>>At this server I have running elastic 1.4.2 - I use this version as this >>>>>>is the last version elastic osgi bundle is ready for. Also at this server >>>>>>I have glassfish 4.1 as java-ee server. >>>>>>I run elastic node client inside my java-ee application. And I do it this >>>>>>way: >>>>>>Node node = nodeBuilder().local(true).clusterName("elasticsearch").node(); >>>>>>Client client = node.client(); >>>>>>GetResponse getResponse = >>>>>>client.prepareGet("my.index-0.2.2","post","1").execute().actionGet(); >>>>>>Map<String,Object> source = getResponse.getSource(); >>>>>>System.out.println("------------------------------"); >>>>>>System.out.println("Index: "+ getResponse.getIndex()); >>>>>>System.out.println("Type: "+ getResponse.getType()); >>>>>>System.out.println("Id: "+ getResponse.getId()); >>>>>>System.out.println("Version: "+ getResponse.getVersion()); >>>>>>System.out.println(source); >>>>>> >>>>>>In log I see the following: >>>>>>>[2015-03-17T12:57:44.447+0400] [glassfish 4.1] [INFO] [] >>>>>>>[org.elasticsearch.discovery] [tid: _ThreadID=30 >>>>>>>_ThreadName=http-listener-1(1)] [timeMillis: 1426582664447] [levelValue: >>>>>>>800] [[ [Pistol] elasticsearch/SCKIrGHQTaC5eEYmYfZ0Iw]] >>>>>>>[2015-03-17T12:57:44.449+0400] [glassfish 4.1] [INFO] [] >>>>>>>[org.elasticsearch.cluster.service] [tid: _ThreadID=128 >>>>>>>_ThreadName=elasticsearch[Pistol][clusterService#updateTask][T#1]] >>>>>>>[timeMillis: 1426582664449] [levelValue: 800] [[ [Pistol] master {new >>>>>>>[Pistol][SCKIrGHQTaC5eEYmYfZ0Iw][ webserver1.com >>>>>>>][local[1]]{local=true}}, removed {[Pistol][uwaWFb6KTy2Sdoc8TNwdSQ][ >>>>>>>webserver1.com ][local[1]]{local=true},}, reason: >>>>>>>local-disco-initial_connect(master)]] >>>>>>>[2015-03-17T12:57:44.502+0400] [glassfish 4.1] [INFO] [] >>>>>>>[org.elasticsearch.http] [tid: _ThreadID=30 >>>>>>>_ThreadName=http-listener-1(1)] [timeMillis: 1426582664502] [levelValue: >>>>>>>800] [[ [Pistol] bound_address {inet[/0:0:0:0:0:0:0:0:9202]}, >>>>>>>publish_address {inet[/SERVER IP:9202]}]] >>>>>>>[2015-03-17T12:57:44.502+0400] [glassfish 4.1] [INFO] [] >>>>>>>[org.elasticsearch.node] [tid: _ThreadID=30 >>>>>>>_ThreadName=http-listener-1(1)] [timeMillis: 1426582664502] [levelValue: >>>>>>>800] [[ [Pistol] started]] >>>>>>and I get this exeption: ... >>>>>> Caused by: >>>>>> org.elasticsearch.indices.IndexMissingException:[my.index-0.2.2] missing at org.elasticsearch.cluster.metadata.MetaData.concreteIndices(MetaData.java:768) at org.elasticsearch.cluster.metadata.MetaData.concreteIndices(MetaData.java:691) at org.elasticsearch.cluster.metadata.MetaData.concreteSingleIndex(MetaData.java:748) at org.elasticsearch.action.support.single.shard.TransportShardSingleOperationAction$AsyncSingleAction.<init>(TransportShardSingleOperationAction.java:139) at org.elasticsearch.action.support.single.shard.TransportShardSingleOperationAction$AsyncSingleAction.<init>(TransportShardSingleOperationAction.java:116) at org.elasticsearch.action.support.single.shard.TransportShardSingleOperationAction.doExecute(TransportShardSingleOperationAction.java:89) at org.elasticsearch.action.support.single.shard.TransportShardSingleOperationAction.doExecute(TransportShardSingleOperationAction.java:55) at org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:75) at org.elasticsearch.client.node.NodeClient.execute(NodeClient.java:98) at org.elasticsearch.client.support.AbstractClient.get(AbstractClient.java:193) at org.elasticsearch.action.get.GetRequestBuilder.doExecute(GetRequestBuilder.java:201) at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:91) at org.elasticsearch.action.ActionRequestBuilder.execute(ActionRequestBuilder.java:65) >>>>>> >>>>>>So it can't find the index - my.index-0.2.2. However this index exists! >>>>>>Besides, when I do curl -XGET ' >>>>>>http://localhost:9200/_cluster/state?pretty=1 ' I see there only one node >>>>>>and this is not SCKIrGHQTaC5eEYmYfZ0Iw. I suppose that the node I create >>>>>>using java API creates new cluster and dosn't connect to my existing >>>>>>cluster - that's why it says - it's master. Or I don't understand >>>>>>something I have problem with code. Besides I've checked tha name of >>>>>>cluster it's elasticsearch. So, how can I connect to my existing >>>>>>elasticsearch cluster? >>>>>-- >>>>>You received this message because you are subscribed to the Google Groups >>>>>"elasticsearch" group. >>>>>To unsubscribe from this group and stop receiving emails from it, send an >>>>>email to elasticsearch+unsubscr...@googlegroups.com . >>>>>To view this discussion on the web visit >>>>>https://groups.google.com/d/msgid/elasticsearch/9156e467-ce1d-495f-bda5-647e059e004c%40googlegroups.com >>>>> . >>>>>For more options, visit https://groups.google.com/d/optout . >>>> >>> >>>-- >>>You received this message because you are subscribed to the Google Groups >>>"elasticsearch" group. >>>To unsubscribe from this group and stop receiving emails from it, send an >>>email to elasticsearch+unsubscr...@googlegroups.com . >>>To view this discussion on the web visit >>>https://groups.google.com/d/msgid/elasticsearch/CAF9vEEqMBeCT6JjnzJbLs3XQYK882cARK1E0fWU9ZjgQATkCyQ%40mail.gmail.com >>> . >>>For more options, visit https://groups.google.com/d/optout . >> > >-- >You received this message because you are subscribed to the Google Groups >"elasticsearch" group. >To unsubscribe from this group and stop receiving emails from it, send an >email to elasticsearch+unsubscr...@googlegroups.com . >To view this discussion on the web visit >https://groups.google.com/d/msgid/elasticsearch/CAF9vEEp6FjLMnrb1GcyDhCfFL794zwFGOvMHJG4qGCc%3DYZ769g%40mail.gmail.com > . >For more options, visit https://groups.google.com/d/optout . -- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/1426615533.195965100%40f37.i.mail.ru. For more options, visit https://groups.google.com/d/optout.