tangs b030ce89ca openbilibili | 5 년 전 | |
---|---|---|
.. | ||
BUILD.bazel | 5 년 전 | |
Makefile | 5 년 전 | |
README.md | 5 년 전 | |
cluster-test.go | 5 년 전 |
This directory contains a program you can use to test a cluster.
Here's how:
First, install a cluster of Elasticsearch nodes. You can install them on different computers, or start several nodes on a single machine.
Build cluster-test by go build cluster-test.go
(or build with make
).
Run ./cluster-test -h
to get a list of flags:
$ ./cluster-test -h
Usage of ./cluster-test:
-errorlog="": error log file
-healthcheck=true: enable or disable healthchecks
-healthchecker=1m0s: healthcheck interval
-index="twitter": name of ES index to use
-infolog="": info log file
-n=5: number of goroutines that run searches
-nodes="": comma-separated list of ES URLs (e.g. 'http://192.168.2.10:9200,http://192.168.2.11:9200')
-retries=0: number of retries
-sniff=true: enable or disable sniffer
-sniffer=15m0s: sniffer interval
-tracelog="": trace log file
Example:
$ ./cluster-test -nodes=http://127.0.0.1:9200,http://127.0.0.1:9201,http://127.0.0.1:9202 -n=5 -index=twitter -retries=5 -sniff=true -sniffer=10s -healthcheck=true -healthchecker=5s -errorlog=error.log
The above example will create an index and start some search jobs on the cluster defined by http://127.0.0.1:9200, http://127.0.0.1:9201, and http://127.0.0.1:9202.
twitter
on the cluster (-index=twitter
)-n=5
).-retries=5
).-sniff=true
).-sniffer=10s
).-healthcheck=true
).-healthchecker=5s
).-errorlog=error.log
).If you want to test Elastic with nodes going up and down, you can use a chaos monkey script like this and run it on the nodes of your cluster:
#!/bin/bash
while true
do
echo "Starting ES node"
elasticsearch -d -Xmx4g -Xms1g -Des.config=elasticsearch.yml -p es.pid
sleep `jot -r 1 10 300` # wait for 10-300s
echo "Stopping ES node"
kill -TERM `cat es.pid`
sleep `jot -r 1 10 60` # wait for 10-60s
done