https://github.com/codelibs/elasticsearch-cluster-runner
Elasticsearch Cluster Launcher on One JVM Instance
https://github.com/codelibs/elasticsearch-cluster-runner
elasticsearch java
Last synced: 10 days ago
JSON representation
Elasticsearch Cluster Launcher on One JVM Instance
- Host: GitHub
- URL: https://github.com/codelibs/elasticsearch-cluster-runner
- Owner: codelibs
- License: other
- Created: 2014-06-08T09:28:23.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2024-04-15T12:06:51.000Z (about 1 year ago)
- Last Synced: 2024-04-16T18:17:27.631Z (about 1 year ago)
- Topics: elasticsearch, java
- Language: Java
- Homepage:
- Size: 454 KB
- Stars: 66
- Watchers: 12
- Forks: 17
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Elasticsearch Cluster Runner
[](https://github.com/codelibs/elasticsearch-cluster-runner/actions/workflows/maven.yml)
============================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 (7.11-)](https://maven.codelibs.org/org/codelibs/elasticsearch-cluster-runner/)
- [Versions in Maven Repository (-7.10)](https://repo1.maven.org/maven2/org/codelibs/elasticsearch-cluster-runner/)## Run on Your Application
Put elasticsearch-cluster-runner if using Maven:
org.codelibs
elasticsearch-cluster-runner
x.x.x.0
and add Maven repository to pom.xml:
central
https://repo1.maven.org/maven2
true
true
codelibs.org
CodeLibs Repository
https://maven.codelibs.org/
### 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:
org.codelibs
elasticsearch-cluster-runner
x.x.x.0
test
and see [ElasticsearchClusterRunnerTest](https://github.com/codelibs/elasticsearch-cluster-runner/blob/master/src/test/java/org/codelibs/elasticsearch/runner/ElasticsearchClusterRunnerTest.java "ElasticsearchClusterRunnerTest").
## Run as Standalone
### Install Maven
Download and install Maven 3 from https://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.