Settings settings = settingsBuilder() .put(clientConfig) .put("http.enabled", false) .build(); Settings settings = settingsBuilder() .put(clientConfig) .build(); TransportClient transportClient = new TransportClient(settings); for (TransportAddress transport: transportAddresses) { transportClient.addTransportAddress(transport); if (transportClient.connectedNodes().isEmpty()) { throw new RuntimeException("Elasticsearch client is not connected to any Elasticsearch nodes!");
public ElasticsearchWriter() { Settings settings = ImmutableSettings.settingsBuilder() .put("client.transport.sniff", true) .put("client.transport.nodes_sampler_interval", 60) .put("cluster.name", cluster) .build(); client = new TransportClient(settings); for (String host : hosts.split(",")) { client.addTransportAddress(new InetSocketTransportAddress(host, 9300)); client.connectedNodes();
/** * If ES already contains this instance's target index, then do nothing. * Otherwise, create the index, then wait {@link #CREATE_SLEEP}. * <p> * The {@code client} field must point to a live, connected client. * The {@code indexName} field must be non-null and point to the name * of the index to check for existence or create. * * @param config the config for this ElasticSearchIndex * @throws java.lang.IllegalArgumentException if the index could not be created */ private void checkForOrCreateIndex(Configuration config) { Preconditions.checkState(null != client); //Create index if it does not already exist IndicesExistsResponse response = client.admin().indices().exists(new IndicesExistsRequest(indexName)).actionGet(); if (!response.isExists()) { ImmutableSettings.Builder settings = ImmutableSettings.settingsBuilder(); ElasticSearchSetup.applySettingsFromTitanConf(settings, config, ES_CREATE_EXTRAS_NS); CreateIndexResponse create = client.admin().indices().prepareCreate(indexName) .setSettings(settings.build()).execute().actionGet(); try { final long sleep = config.get(CREATE_SLEEP); log.debug("Sleeping {} ms after {} index creation returned from actionGet()", sleep, indexName); Thread.sleep(sleep); } catch (InterruptedException e) { throw new TitanException("Interrupted while waiting for index to settle in", e); } if (!create.isAcknowledged()) throw new IllegalArgumentException("Could not create index: " + indexName); } }
@Override protected UsageAwareDatastoreConnection<ElasticSearchDataContext> createDatastoreConnection() { final Builder settingsBuilder = ImmutableSettings.builder(); settingsBuilder.put("name", "AnalyzerBeans"); settingsBuilder.put("cluster.name", _clusterName); final Settings settings = settingsBuilder.build(); final TransportClient client = new TransportClient(settings); client.addTransportAddress(new InetSocketTransportAddress(_hostname, _port)); final ElasticSearchDataContext dataContext; if (_tableDefs == null || _tableDefs.length == 0) { dataContext = new ElasticSearchDataContext(client, _indexName); } else { dataContext = new ElasticSearchDataContext(client, _indexName, _tableDefs); } return new DatastoreConnectionImpl<ElasticSearchDataContext>(dataContext, this); }
/** * Open client to elaticsearch cluster * * @param clusterName */ private void openClient(String clusterName) { logger.info("Using ElasticSearch hostnames: {} ", Arrays.toString(serverAddresses)); Settings settings = ImmutableSettings.settingsBuilder() .put("cluster.name", clusterName).build(); TransportClient transportClient = new TransportClient(settings); for (InetSocketTransportAddress host : serverAddresses) { transportClient.addTransportAddress(host); } if (client != null) { client.close(); } client = transportClient; }
protected ShellNativeClient newTransportClient(TransportAddress... addresses) { Settings settings = ImmutableSettings.settingsBuilder().put("client.transport.ignore_cluster_name", true).build(); org.elasticsearch.client.transport.TransportClient client = new TransportClient(settings).addTransportAddresses(addresses); //if no connected node we can already close the (useless) client if (client.connectedNodes().size() == 0) { client.close(); return null; } AbstractClient<TransportClient, JsonInput, JsonOutput> shellClient = clientWrapper.wrapEsTransportClient(client); resourceRegistry.registerResource(shellClient); ShellNativeClient shellNativeClient = clientWrapper.wrapShellClient(shellClient); clientScopeSynchronizerRunner.startSynchronizer(shellNativeClient); return shellNativeClient; } }
public static TransportClient createTransportClient(String clusterName, InetSocketTransportAddress... addresses) { Settings settings = ImmutableSettings.settingsBuilder() .put("cluster.name", clusterName) .put("client.transport.sniff", true).build(); TransportClient transportClient = new TransportClient(settings).addTransportAddresses(addresses); return transportClient; }
ImmutableSettings.Builder settings = ImmutableSettings.settingsBuilder(); settings.put("client.transport.ignore_cluster_name", true); Preconditions.checkArgument(StringUtils.isNotBlank(clustername), "Invalid cluster name: %s", clustername); String k = "cluster.name"; settings.put(k, clustername); log.debug("Set {}: {}", k, clustername); boolean ignoreClusterName = config.get(ElasticSearchIndex.IGNORE_CLUSTER_NAME); String k = "client.transport.ignore_cluster_name"; settings.put(k, ignoreClusterName); log.debug("Set {}: {}", k, ignoreClusterName);
/** * Open client to elaticsearch cluster * * @param clusterName */ private void openClient(String clusterName) { logger.info("Using ElasticSearch hostnames: {} ", Arrays.toString(serverAddresses)); Settings settings = ImmutableSettings.settingsBuilder() .put("cluster.name", clusterName).build(); TransportClient transportClient = new TransportClient(settings); for (InetSocketTransportAddress host : serverAddresses) { transportClient.addTransportAddress(host); } if (client != null) { client.close(); } client = transportClient; }
private static Settings tryReadSettingsFromFile(ElasticSearchSearchIndexConfiguration config) { File esConfigFile = config.getEsConfigFile(); if (esConfigFile == null) { return null; } if (!esConfigFile.exists()) { throw new VertexiumException(esConfigFile.getAbsolutePath() + " does not exist"); } try (FileInputStream fileIn = new FileInputStream(esConfigFile)) { return ImmutableSettings.builder().loadFromStream(esConfigFile.getAbsolutePath(), fileIn).build(); } catch (IOException e) { throw new VertexiumException("Could not read ES config file: " + esConfigFile.getAbsolutePath(), e); } }
/** * Create the transport client * @return */ private Client createTransportClient() { final String clusterName = indexFig.getClusterName(); final int port = indexFig.getPort(); ImmutableSettings.Builder settings = ImmutableSettings.settingsBuilder().put( "cluster.name", clusterName ) .put( "client.transport.sniff", true ); String nodeName = indexFig.getNodeName(); if ( "default".equals( nodeName ) ) { // no nodeName was specified, use hostname try { nodeName = InetAddress.getLocalHost().getHostName(); } catch ( UnknownHostException ex ) { nodeName = "client-" + RandomStringUtils.randomAlphabetic( 8 ); logger.warn( "Couldn't get hostname to use as ES node name, using {}", nodeName ); } } settings.put( "node.name", nodeName ); TransportClient transportClient = new TransportClient( settings.build() ); // we will connect to ES on all configured hosts for ( String host : indexFig.getHosts().split( "," ) ) { transportClient.addTransportAddress( new InetSocketTransportAddress( host, port ) ); } return transportClient; }
/** * determine which client to use depending on context * * @return injected client or TransportClient */ private Client getClient() { SearchIntoContext ctx = (SearchIntoContext)context; if (ctx.targetNodes().isEmpty()) { transportClient = null; return client; } else { ImmutableSettings.Builder builder = ImmutableSettings.settingsBuilder(); builder.put("config.ignore_system_properties", true); builder.put("client.transport.sniff", true); builder.put("client.transport.ignore_cluster_name", true); builder.put("client.transport.ignore_cluster_name", true); transportClient = new TransportClient(builder, false); for (InetSocketTransportAddress address : ctx.targetNodes()) { ((TransportClient)transportClient).addTransportAddress(address); } return transportClient; } }
if (config.has(INDEX_CONF_FILE)) { String configFile = config.get(INDEX_CONF_FILE); ImmutableSettings.Builder sb = ImmutableSettings.settingsBuilder(); log.debug("Configuring ES from YML file [{}]", configFile); FileInputStream fis = null; try { fis = new FileInputStream(configFile); sb.loadFromStream(configFile, fis); builder.settings(sb.build()); } catch (FileNotFoundException e) { throw new TitanException(e); File f = new File(dataDirectory); if (!f.exists()) f.mkdirs(); ImmutableSettings.Builder b = ImmutableSettings.settingsBuilder(); for (String sub : DATA_SUBDIRS) { String subdir = dataDirectory + File.separator + sub; f = new File(subdir); if (!f.exists()) f.mkdirs(); b.put("path." + sub, subdir); ImmutableSettings.Builder settings = ImmutableSettings.settingsBuilder(); if (config.has(CLUSTER_NAME)) { String clustername = config.get(CLUSTER_NAME); TransportClient tc = new TransportClient(settings.build()); int defaultPort = config.has(INDEX_PORT)?config.get(INDEX_PORT):HOST_PORT_DEFAULT; for (String host : config.get(INDEX_HOSTS)) {
private void setupConnection() { ImmutableSettings.Builder settings = ImmutableSettings .settingsBuilder(); settings.put("cluster.name", this.cluster); f.mkdirs(); settings.put("path." + sub, subdir); settings.put("index.store.type", "memory"); settings.put("client.transport.sniff", this.clientSniff); this.client = new TransportClient(settings.build()); .addTransportAddress(new InetSocketTransportAddress( hostname, hostport));
@Test public void testIndexCreationOptions() throws InterruptedException, BackendException { final int shards = 77; ElasticsearchRunner esr = new ElasticsearchRunner(".", "indexCreationOptions.yml"); esr.start(); CommonsConfiguration cc = new CommonsConfiguration(new BaseConfiguration()); cc.set("index." + INDEX_NAME + ".elasticsearch.create.ext.number_of_shards", String.valueOf(shards)); cc.set("index." + INDEX_NAME + ".elasticsearch.ext.cluster.name", "indexCreationOptions"); ModifiableConfiguration config = new ModifiableConfiguration(GraphDatabaseConfiguration.ROOT_NS, cc, BasicConfiguration.Restriction.NONE); config.set(INTERFACE, ElasticSearchSetup.NODE.toString(), INDEX_NAME); Configuration indexConfig = config.restrictTo(INDEX_NAME); IndexProvider idx = new ElasticSearchIndex(indexConfig); simpleWriteAndQuery(idx); ImmutableSettings.Builder settingsBuilder = ImmutableSettings.settingsBuilder(); settingsBuilder.put("discovery.zen.ping.multicast.enabled", "false"); settingsBuilder.put("discovery.zen.ping.unicast.hosts", "localhost,127.0.0.1:9300"); settingsBuilder.put("cluster.name", "indexCreationOptions"); NodeBuilder nodeBuilder = NodeBuilder.nodeBuilder().settings(settingsBuilder.build()); nodeBuilder.client(true).data(false).local(false); Node n = nodeBuilder.build().start(); GetSettingsResponse response = n.client().admin().indices().getSettings(new GetSettingsRequest().indices("titan")).actionGet(); assertEquals(String.valueOf(shards), response.getSetting("titan", "index.number_of_shards")); idx.close(); n.stop(); esr.stop(); }
@SuppressWarnings("rawtypes") public ElasticSearchState(Map config) { LOGGER.debug("Initialize ElasticSearchState"); String clusterName = (String) config.get(StormElasticSearchConstants.ES_CLUSTER_NAME); String host = (String) config.get(StormElasticSearchConstants.ES_HOST); Integer port = (Integer) config.get(StormElasticSearchConstants.ES_PORT); Settings settings = ImmutableSettings.settingsBuilder().put("cluster.name", clusterName).build(); client = new TransportClient(settings).addTransportAddress(new InetSocketTransportAddress(host, port)); LOGGER.debug("Initialization completed with [clusterName=" + clusterName + ", host=" + host + ", port=" + port + "]"); }