Code Monkey home page Code Monkey logo

elasticsearch-cluster-runner's Introduction

Elasticsearch Cluster Runner

This project runs Elasticsearch cluster on one JVM instance for your development/testing easily. You can use Elasticsearch Cluster Runner as Embedded Elasticsearch in your application.

Version

Versions in Maven Repository

Run on Your Application

Put elasticsearch-cluster-runner if using Maven:

<dependency>
    <groupId>org.codelibs</groupId>
    <artifactId>elasticsearch-cluster-runner</artifactId>
    <version>5.5.2.0</version>
</dependency>

Start Cluster Runner

import static org.codelibs.elasticsearch.runner.ElasticsearchClusterRunner.newConfigs;
...
// create runner instance
ElasticsearchClusterRunner runner = new ElasticsearchClusterRunner();
// create ES nodes
runner.onBuild(new ElasticsearchClusterRunner.Builder() {
    @Override
    public void build(final int number, final Builder settingsBuilder) {
        // put elasticsearch settings
        // settingsBuilder.put("index.number_of_replicas", 0);
    }
}).build(newConfigs());

build(Configs) method configures/starts Clsuter Runner.

Stop Cluster Runner

// close runner
runner.close();

Clean up

// delete all files(config and index)
runner.clean();

Run on JUnit

Put elasticsearch-cluster-runner as test scope:

<dependency>
    <groupId>org.codelibs</groupId>
    <artifactId>elasticsearch-cluster-runner</artifactId>
    <version>5.5.2.0</version>
    <scope>test</scope>
</dependency>

and see ElasticsearchClusterRunnerTest.

Run as Standalone

Install Maven

Download and install Maven 3 from http://maven.apache.org/.

Clone This Project

git clone https://github.com/codelibs/elasticsearch-cluster-runner.git

Build This Project

mvn compile

Run/Stop Elasticsearch Cluster

Run Cluster

Run:

mvn exec:java 

The default cluster has 3 nodes and the root directory for Elasticsearch is es_home. Nodes use 9201-9203 port for HTTP and 9301-9303 port for Transport. If you want to change the number of node, Run:

mvn exec:java -Dexec.args="-basePath es_home -numOfNode 4"

Stop Cluster

Type Ctrl-c or kill the process.

Others

Install Plugins

This project does not have plugin command to install plugins. Therefore, you need to put plugins manually. For example, installing solr-api plugin:

$ mkdir -p es_home/plugins/solr-api
$ wget http://repo1.maven.org/maven2/org/codelibs/elasticsearch-solr-api/1.4.0/elasticsearch-solr-api-1.4.0.zip
$ unzip elasticsearch-solr-api-1.4.0.zip 
$ rm elasticsearch-solr-api-1.4.0.zip 

Issues/Questions

Please file an issue. (Japanese forum is here.)

elasticsearch-cluster-runner's People

Contributors

keiichiw avatar marevol avatar mictech avatar muffix avatar noelalonso avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.