fluent-plugin-embedded-elasticsearch 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +46 -0
- data/conf/example.conf +32 -0
- data/lib/fluent/plugin/in_embedded_elasticsearch.rb +52 -0
- data/vendor/elasticsearch/LICENSE.txt +202 -0
- data/vendor/elasticsearch/NOTICE.txt +5 -0
- data/vendor/elasticsearch/README.textile +227 -0
- data/vendor/elasticsearch/bin/elasticsearch +184 -0
- data/vendor/elasticsearch/bin/elasticsearch-service-mgr.exe +0 -0
- data/vendor/elasticsearch/bin/elasticsearch-service-x64.exe +0 -0
- data/vendor/elasticsearch/bin/elasticsearch-service-x86.exe +0 -0
- data/vendor/elasticsearch/bin/elasticsearch.bat +79 -0
- data/vendor/elasticsearch/bin/elasticsearch.in.sh +64 -0
- data/vendor/elasticsearch/bin/plugin +49 -0
- data/vendor/elasticsearch/bin/plugin.bat +22 -0
- data/vendor/elasticsearch/bin/service.bat +231 -0
- data/vendor/elasticsearch/config/elasticsearch.yml +364 -0
- data/vendor/elasticsearch/config/logging.yml +56 -0
- data/vendor/elasticsearch/lib/elasticsearch-0.90.7.jar +0 -0
- data/vendor/elasticsearch/lib/jna-3.3.0.jar +0 -0
- data/vendor/elasticsearch/lib/jts-1.12.jar +0 -0
- data/vendor/elasticsearch/lib/log4j-1.2.17.jar +0 -0
- data/vendor/elasticsearch/lib/lucene-analyzers-common-4.5.1.jar +0 -0
- data/vendor/elasticsearch/lib/lucene-codecs-4.5.1.jar +0 -0
- data/vendor/elasticsearch/lib/lucene-core-4.5.1.jar +0 -0
- data/vendor/elasticsearch/lib/lucene-grouping-4.5.1.jar +0 -0
- data/vendor/elasticsearch/lib/lucene-highlighter-4.5.1.jar +0 -0
- data/vendor/elasticsearch/lib/lucene-join-4.5.1.jar +0 -0
- data/vendor/elasticsearch/lib/lucene-memory-4.5.1.jar +0 -0
- data/vendor/elasticsearch/lib/lucene-misc-4.5.1.jar +0 -0
- data/vendor/elasticsearch/lib/lucene-queries-4.5.1.jar +0 -0
- data/vendor/elasticsearch/lib/lucene-queryparser-4.5.1.jar +0 -0
- data/vendor/elasticsearch/lib/lucene-sandbox-4.5.1.jar +0 -0
- data/vendor/elasticsearch/lib/lucene-spatial-4.5.1.jar +0 -0
- data/vendor/elasticsearch/lib/lucene-suggest-4.5.1.jar +0 -0
- data/vendor/elasticsearch/lib/sigar/libsigar-amd64-freebsd-6.so +0 -0
- data/vendor/elasticsearch/lib/sigar/libsigar-amd64-linux.so +0 -0
- data/vendor/elasticsearch/lib/sigar/libsigar-amd64-solaris.so +0 -0
- data/vendor/elasticsearch/lib/sigar/libsigar-ia64-linux.so +0 -0
- data/vendor/elasticsearch/lib/sigar/libsigar-sparc-solaris.so +0 -0
- data/vendor/elasticsearch/lib/sigar/libsigar-sparc64-solaris.so +0 -0
- data/vendor/elasticsearch/lib/sigar/libsigar-universal-macosx.dylib +0 -0
- data/vendor/elasticsearch/lib/sigar/libsigar-universal64-macosx.dylib +0 -0
- data/vendor/elasticsearch/lib/sigar/libsigar-x86-freebsd-5.so +0 -0
- data/vendor/elasticsearch/lib/sigar/libsigar-x86-freebsd-6.so +0 -0
- data/vendor/elasticsearch/lib/sigar/libsigar-x86-linux.so +0 -0
- data/vendor/elasticsearch/lib/sigar/libsigar-x86-solaris.so +0 -0
- data/vendor/elasticsearch/lib/sigar/sigar-1.6.4.jar +0 -0
- data/vendor/elasticsearch/lib/sigar/sigar-amd64-winnt.dll +0 -0
- data/vendor/elasticsearch/lib/sigar/sigar-x86-winnt.dll +0 -0
- data/vendor/elasticsearch/lib/sigar/sigar-x86-winnt.lib +0 -0
- data/vendor/elasticsearch/lib/spatial4j-0.3.jar +0 -0
- metadata +109 -0
@@ -0,0 +1,184 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
# OPTIONS:
|
4
|
+
# -f: start in the foreground
|
5
|
+
# -p <filename>: log the pid to a file (useful to kill it later)
|
6
|
+
|
7
|
+
# CONTROLLING STARTUP:
|
8
|
+
#
|
9
|
+
# This script relies on few environment variables to determine startup
|
10
|
+
# behavior, those variables are:
|
11
|
+
#
|
12
|
+
# ES_CLASSPATH -- A Java classpath containing everything necessary to run.
|
13
|
+
# JAVA_OPTS -- Additional arguments to the JVM for heap size, etc
|
14
|
+
# ES_JAVA_OPTS -- External Java Opts on top of the defaults set
|
15
|
+
#
|
16
|
+
#
|
17
|
+
# Optionally, exact memory values can be set using the following values, note,
|
18
|
+
# they can still be set using the `ES_JAVA_OPTS`. Sample format include "512m", and "10g".
|
19
|
+
#
|
20
|
+
# ES_HEAP_SIZE -- Sets both the minimum and maximum memory to allocate (recommended)
|
21
|
+
#
|
22
|
+
# As a convenience, a fragment of shell is sourced in order to set one or
|
23
|
+
# more of these variables. This so-called `include' can be placed in a
|
24
|
+
# number of locations and will be searched for in order. The lowest
|
25
|
+
# priority search path is the same directory as the startup script, and
|
26
|
+
# since this is the location of the sample in the project tree, it should
|
27
|
+
# almost work Out Of The Box.
|
28
|
+
#
|
29
|
+
# Any serious use-case though will likely require customization of the
|
30
|
+
# include. For production installations, it is recommended that you copy
|
31
|
+
# the sample to one of /usr/share/elasticsearch/elasticsearch.in.sh,
|
32
|
+
# /usr/local/share/elasticsearch/elasticsearch.in.sh, or
|
33
|
+
# /opt/elasticsearch/elasticsearch.in.sh and make your modifications there.
|
34
|
+
#
|
35
|
+
# Another option is to specify the full path to the include file in the
|
36
|
+
# environment. For example:
|
37
|
+
#
|
38
|
+
# $ ES_INCLUDE=/path/to/in.sh elasticsearch -p /var/run/es.pid
|
39
|
+
#
|
40
|
+
# Note: This is particularly handy for running multiple instances on a
|
41
|
+
# single installation, or for quick tests.
|
42
|
+
#
|
43
|
+
# If you would rather configure startup entirely from the environment, you
|
44
|
+
# can disable the include by exporting an empty ES_INCLUDE, or by
|
45
|
+
# ensuring that no include files exist in the aforementioned search list.
|
46
|
+
# Be aware that you will be entirely responsible for populating the needed
|
47
|
+
# environment variables.
|
48
|
+
|
49
|
+
CDPATH=""
|
50
|
+
SCRIPT="$0"
|
51
|
+
|
52
|
+
# SCRIPT may be an arbitrarily deep series of symlinks. Loop until we have the concrete path.
|
53
|
+
while [ -h "$SCRIPT" ] ; do
|
54
|
+
ls=`ls -ld "$SCRIPT"`
|
55
|
+
# Drop everything prior to ->
|
56
|
+
link=`expr "$ls" : '.*-> \(.*\)$'`
|
57
|
+
if expr "$link" : '/.*' > /dev/null; then
|
58
|
+
SCRIPT="$link"
|
59
|
+
else
|
60
|
+
SCRIPT=`dirname "$SCRIPT"`/"$link"
|
61
|
+
fi
|
62
|
+
done
|
63
|
+
|
64
|
+
# determine elasticsearch home
|
65
|
+
ES_HOME=`dirname "$SCRIPT"`/..
|
66
|
+
|
67
|
+
# make ELASTICSEARCH_HOME absolute
|
68
|
+
ES_HOME=`cd "$ES_HOME"; pwd`
|
69
|
+
|
70
|
+
|
71
|
+
# If an include wasn't specified in the environment, then search for one...
|
72
|
+
if [ "x$ES_INCLUDE" = "x" ]; then
|
73
|
+
# Locations (in order) to use when searching for an include file.
|
74
|
+
for include in /usr/share/elasticsearch/elasticsearch.in.sh \
|
75
|
+
/usr/local/share/elasticsearch/elasticsearch.in.sh \
|
76
|
+
/opt/elasticsearch/elasticsearch.in.sh \
|
77
|
+
~/.elasticsearch.in.sh \
|
78
|
+
"`dirname "$0"`"/elasticsearch.in.sh; do
|
79
|
+
if [ -r "$include" ]; then
|
80
|
+
. "$include"
|
81
|
+
break
|
82
|
+
fi
|
83
|
+
done
|
84
|
+
# ...otherwise, source the specified include.
|
85
|
+
elif [ -r "$ES_INCLUDE" ]; then
|
86
|
+
. "$ES_INCLUDE"
|
87
|
+
fi
|
88
|
+
|
89
|
+
if [ -x "$JAVA_HOME/bin/java" ]; then
|
90
|
+
JAVA="$JAVA_HOME/bin/java"
|
91
|
+
else
|
92
|
+
JAVA=$(which java)
|
93
|
+
fi
|
94
|
+
|
95
|
+
if [ ! -x "$JAVA" ]; then
|
96
|
+
echo "Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME"
|
97
|
+
exit 1
|
98
|
+
fi
|
99
|
+
|
100
|
+
if [ -z "$ES_CLASSPATH" ]; then
|
101
|
+
echo "You must set the ES_CLASSPATH var" >&2
|
102
|
+
exit 1
|
103
|
+
fi
|
104
|
+
|
105
|
+
# Special-case path variables.
|
106
|
+
case `uname` in
|
107
|
+
CYGWIN*)
|
108
|
+
ES_CLASSPATH=`cygpath -p -w "$ES_CLASSPATH"`
|
109
|
+
ES_HOME=`cygpath -p -w "$ES_HOME"`
|
110
|
+
;;
|
111
|
+
esac
|
112
|
+
|
113
|
+
launch_service()
|
114
|
+
{
|
115
|
+
pidpath=$1
|
116
|
+
foreground=$2
|
117
|
+
props=$3
|
118
|
+
es_parms="-Delasticsearch"
|
119
|
+
|
120
|
+
if [ "x$pidpath" != "x" ]; then
|
121
|
+
es_parms="$es_parms -Des.pidfile=$pidpath"
|
122
|
+
fi
|
123
|
+
|
124
|
+
# The es-foreground option will tell ElasticSearch not to close stdout/stderr, but it's up to us not to background.
|
125
|
+
if [ "x$foreground" != "x" ]; then
|
126
|
+
es_parms="$es_parms -Des.foreground=yes"
|
127
|
+
exec "$JAVA" $JAVA_OPTS $ES_JAVA_OPTS $es_parms -Des.path.home="$ES_HOME" -cp "$ES_CLASSPATH" $props \
|
128
|
+
org.elasticsearch.bootstrap.ElasticSearch
|
129
|
+
# exec without running it in the background, makes it replace this shell, we'll never get here...
|
130
|
+
# no need to return something
|
131
|
+
else
|
132
|
+
# Startup ElasticSearch, background it, and write the pid.
|
133
|
+
exec "$JAVA" $JAVA_OPTS $ES_JAVA_OPTS $es_parms -Des.path.home="$ES_HOME" -cp "$ES_CLASSPATH" $props \
|
134
|
+
org.elasticsearch.bootstrap.ElasticSearch <&- &
|
135
|
+
return $?
|
136
|
+
fi
|
137
|
+
}
|
138
|
+
|
139
|
+
# Parse any command line options.
|
140
|
+
args=`getopt vfhp:D:X: "$@"`
|
141
|
+
eval set -- "$args"
|
142
|
+
|
143
|
+
while true; do
|
144
|
+
case $1 in
|
145
|
+
-v)
|
146
|
+
"$JAVA" $JAVA_OPTS $ES_JAVA_OPTS $es_parms -Des.path.home="$ES_HOME" -cp "$ES_CLASSPATH" $props \
|
147
|
+
org.elasticsearch.Version
|
148
|
+
exit 0
|
149
|
+
;;
|
150
|
+
-p)
|
151
|
+
pidfile="$2"
|
152
|
+
shift 2
|
153
|
+
;;
|
154
|
+
-f)
|
155
|
+
foreground="yes"
|
156
|
+
shift
|
157
|
+
;;
|
158
|
+
-h)
|
159
|
+
echo "Usage: $0 [-f] [-h] [-p pidfile]"
|
160
|
+
exit 0
|
161
|
+
;;
|
162
|
+
-D)
|
163
|
+
properties="$properties -D$2"
|
164
|
+
shift 2
|
165
|
+
;;
|
166
|
+
-X)
|
167
|
+
properties="$properties -X$2"
|
168
|
+
shift 2
|
169
|
+
;;
|
170
|
+
--)
|
171
|
+
shift
|
172
|
+
break
|
173
|
+
;;
|
174
|
+
*)
|
175
|
+
echo "Error parsing argument $1!" >&2
|
176
|
+
exit 1
|
177
|
+
;;
|
178
|
+
esac
|
179
|
+
done
|
180
|
+
|
181
|
+
# Start up the service
|
182
|
+
launch_service "$pidfile" "$foreground" "$properties"
|
183
|
+
|
184
|
+
exit $?
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,79 @@
|
|
1
|
+
@echo off
|
2
|
+
|
3
|
+
SETLOCAL
|
4
|
+
|
5
|
+
if NOT DEFINED JAVA_HOME goto err
|
6
|
+
|
7
|
+
set SCRIPT_DIR=%~dp0
|
8
|
+
for %%I in ("%SCRIPT_DIR%..") do set ES_HOME=%%~dpfI
|
9
|
+
|
10
|
+
|
11
|
+
REM ***** JAVA options *****
|
12
|
+
|
13
|
+
if "%ES_MIN_MEM%" == "" (
|
14
|
+
set ES_MIN_MEM=256m
|
15
|
+
)
|
16
|
+
|
17
|
+
if "%ES_MAX_MEM%" == "" (
|
18
|
+
set ES_MAX_MEM=1g
|
19
|
+
)
|
20
|
+
|
21
|
+
if NOT "%ES_HEAP_SIZE%" == "" (
|
22
|
+
set ES_MIN_MEM=%ES_HEAP_SIZE%
|
23
|
+
set ES_MAX_MEM=%ES_HEAP_SIZE%
|
24
|
+
)
|
25
|
+
|
26
|
+
set JAVA_OPTS=%JAVA_OPTS% -Xms%ES_MIN_MEM% -Xmx%ES_MAX_MEM%
|
27
|
+
|
28
|
+
if NOT "%ES_HEAP_NEWSIZE%" == "" (
|
29
|
+
set JAVA_OPTS=%JAVA_OPTS% -Xmn%ES_HEAP_NEWSIZE%
|
30
|
+
)
|
31
|
+
|
32
|
+
if NOT "%ES_DIRECT_SIZE%" == "" (
|
33
|
+
set JAVA_OPTS=%JAVA_OPTS% -XX:MaxDirectMemorySize=%ES_DIRECT_SIZE%
|
34
|
+
)
|
35
|
+
|
36
|
+
set JAVA_OPTS=%JAVA_OPTS% -Xss256k
|
37
|
+
|
38
|
+
REM Enable aggressive optimizations in the JVM
|
39
|
+
REM - Disabled by default as it might cause the JVM to crash
|
40
|
+
REM set JAVA_OPTS=%JAVA_OPTS% -XX:+AggressiveOpts
|
41
|
+
|
42
|
+
set JAVA_OPTS=%JAVA_OPTS% -XX:+UseParNewGC
|
43
|
+
set JAVA_OPTS=%JAVA_OPTS% -XX:+UseConcMarkSweepGC
|
44
|
+
|
45
|
+
set JAVA_OPTS=%JAVA_OPTS% -XX:CMSInitiatingOccupancyFraction=75
|
46
|
+
set JAVA_OPTS=%JAVA_OPTS% -XX:+UseCMSInitiatingOccupancyOnly
|
47
|
+
|
48
|
+
REM When running under Java 7
|
49
|
+
REM JAVA_OPTS=%JAVA_OPTS% -XX:+UseCondCardMark
|
50
|
+
|
51
|
+
REM GC logging options -- uncomment to enable
|
52
|
+
REM JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCDetails
|
53
|
+
REM JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCTimeStamps
|
54
|
+
REM JAVA_OPTS=%JAVA_OPTS% -XX:+PrintClassHistogram
|
55
|
+
REM JAVA_OPTS=%JAVA_OPTS% -XX:+PrintTenuringDistribution
|
56
|
+
REM JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCApplicationStoppedTime
|
57
|
+
REM JAVA_OPTS=%JAVA_OPTS% -Xloggc:/var/log/elasticsearch/gc.log
|
58
|
+
|
59
|
+
REM Causes the JVM to dump its heap on OutOfMemory.
|
60
|
+
set JAVA_OPTS=%JAVA_OPTS% -XX:+HeapDumpOnOutOfMemoryError
|
61
|
+
REM The path to the heap dump location, note directory must exists and have enough
|
62
|
+
REM space for a full heap dump.
|
63
|
+
REM JAVA_OPTS=%JAVA_OPTS% -XX:HeapDumpPath=$ES_HOME/logs/heapdump.hprof
|
64
|
+
|
65
|
+
set ES_CLASSPATH=%ES_CLASSPATH%;%ES_HOME%/lib/elasticsearch-0.90.7.jar;%ES_HOME%/lib/*;%ES_HOME%/lib/sigar/*
|
66
|
+
set ES_PARAMS=-Delasticsearch -Des-foreground=yes -Des.path.home="%ES_HOME%"
|
67
|
+
|
68
|
+
"%JAVA_HOME%\bin\java" %JAVA_OPTS% %ES_JAVA_OPTS% %ES_PARAMS% %* -cp "%ES_CLASSPATH%" "org.elasticsearch.bootstrap.ElasticSearch"
|
69
|
+
goto finally
|
70
|
+
|
71
|
+
|
72
|
+
:err
|
73
|
+
echo JAVA_HOME environment variable must be set!
|
74
|
+
pause
|
75
|
+
|
76
|
+
|
77
|
+
:finally
|
78
|
+
|
79
|
+
ENDLOCAL
|
@@ -0,0 +1,64 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
ES_CLASSPATH=$ES_CLASSPATH:$ES_HOME/lib/elasticsearch-0.90.7.jar:$ES_HOME/lib/*:$ES_HOME/lib/sigar/*
|
4
|
+
|
5
|
+
if [ "x$ES_MIN_MEM" = "x" ]; then
|
6
|
+
ES_MIN_MEM=256m
|
7
|
+
fi
|
8
|
+
if [ "x$ES_MAX_MEM" = "x" ]; then
|
9
|
+
ES_MAX_MEM=1g
|
10
|
+
fi
|
11
|
+
if [ "x$ES_HEAP_SIZE" != "x" ]; then
|
12
|
+
ES_MIN_MEM=$ES_HEAP_SIZE
|
13
|
+
ES_MAX_MEM=$ES_HEAP_SIZE
|
14
|
+
fi
|
15
|
+
|
16
|
+
# min and max heap sizes should be set to the same value to avoid
|
17
|
+
# stop-the-world GC pauses during resize, and so that we can lock the
|
18
|
+
# heap in memory on startup to prevent any of it from being swapped
|
19
|
+
# out.
|
20
|
+
JAVA_OPTS="$JAVA_OPTS -Xms${ES_MIN_MEM}"
|
21
|
+
JAVA_OPTS="$JAVA_OPTS -Xmx${ES_MAX_MEM}"
|
22
|
+
|
23
|
+
# new generation
|
24
|
+
if [ "x$ES_HEAP_NEWSIZE" != "x" ]; then
|
25
|
+
JAVA_OPTS="$JAVA_OPTS -Xmn${ES_HEAP_NEWSIZE}"
|
26
|
+
fi
|
27
|
+
|
28
|
+
# max direct memory
|
29
|
+
if [ "x$ES_DIRECT_SIZE" != "x" ]; then
|
30
|
+
JAVA_OPTS="$JAVA_OPTS -XX:MaxDirectMemorySize=${ES_DIRECT_SIZE}"
|
31
|
+
fi
|
32
|
+
|
33
|
+
# reduce the per-thread stack size
|
34
|
+
JAVA_OPTS="$JAVA_OPTS -Xss256k"
|
35
|
+
|
36
|
+
# set to headless, just in case
|
37
|
+
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
|
38
|
+
|
39
|
+
# Force the JVM to use IPv4 stack
|
40
|
+
if [ "x$ES_USE_IPV4" != "x" ]; then
|
41
|
+
JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"
|
42
|
+
fi
|
43
|
+
|
44
|
+
JAVA_OPTS="$JAVA_OPTS -XX:+UseParNewGC"
|
45
|
+
JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC"
|
46
|
+
|
47
|
+
JAVA_OPTS="$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=75"
|
48
|
+
JAVA_OPTS="$JAVA_OPTS -XX:+UseCMSInitiatingOccupancyOnly"
|
49
|
+
|
50
|
+
# GC logging options
|
51
|
+
if [ "x$ES_USE_GC_LOGGING" != "x" ]; then
|
52
|
+
JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails"
|
53
|
+
JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCTimeStamps"
|
54
|
+
JAVA_OPTS="$JAVA_OPTS -XX:+PrintClassHistogram"
|
55
|
+
JAVA_OPTS="$JAVA_OPTS -XX:+PrintTenuringDistribution"
|
56
|
+
JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCApplicationStoppedTime"
|
57
|
+
JAVA_OPTS="$JAVA_OPTS -Xloggc:/var/log/elasticsearch/gc.log"
|
58
|
+
fi
|
59
|
+
|
60
|
+
# Causes the JVM to dump its heap on OutOfMemory.
|
61
|
+
JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError"
|
62
|
+
# The path to the heap dump location, note directory must exists and have enough
|
63
|
+
# space for a full heap dump.
|
64
|
+
#JAVA_OPTS="$JAVA_OPTS -XX:HeapDumpPath=$ES_HOME/logs/heapdump.hprof"
|
@@ -0,0 +1,49 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
CDPATH=""
|
4
|
+
SCRIPT="$0"
|
5
|
+
|
6
|
+
# SCRIPT may be an arbitrarily deep series of symlinks. Loop until we have the concrete path.
|
7
|
+
while [ -h "$SCRIPT" ] ; do
|
8
|
+
ls=`ls -ld "$SCRIPT"`
|
9
|
+
# Drop everything prior to ->
|
10
|
+
link=`expr "$ls" : '.*-> \(.*\)$'`
|
11
|
+
if expr "$link" : '/.*' > /dev/null; then
|
12
|
+
SCRIPT="$link"
|
13
|
+
else
|
14
|
+
SCRIPT=`dirname "$SCRIPT"`/"$link"
|
15
|
+
fi
|
16
|
+
done
|
17
|
+
|
18
|
+
# determine elasticsearch home
|
19
|
+
ES_HOME=`dirname "$SCRIPT"`/..
|
20
|
+
|
21
|
+
# make ELASTICSEARCH_HOME absolute
|
22
|
+
ES_HOME=`cd "$ES_HOME"; pwd`
|
23
|
+
|
24
|
+
|
25
|
+
if [ -x "$JAVA_HOME/bin/java" ]; then
|
26
|
+
JAVA=$JAVA_HOME/bin/java
|
27
|
+
else
|
28
|
+
JAVA=`which java`
|
29
|
+
fi
|
30
|
+
|
31
|
+
# real getopt cannot be used because we need to hand options over to the PluginManager
|
32
|
+
while [ $# -gt 0 ]; do
|
33
|
+
case $1 in
|
34
|
+
-D*=*)
|
35
|
+
properties="$properties $1"
|
36
|
+
;;
|
37
|
+
-D*)
|
38
|
+
var=$1
|
39
|
+
shift
|
40
|
+
properties="$properties $var=$1"
|
41
|
+
;;
|
42
|
+
*)
|
43
|
+
args="$args $1"
|
44
|
+
esac
|
45
|
+
shift
|
46
|
+
done
|
47
|
+
|
48
|
+
exec $JAVA $JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home="$ES_HOME" $properties -cp "$ES_HOME/lib/*" org.elasticsearch.plugins.PluginManager $args
|
49
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
@echo off
|
2
|
+
|
3
|
+
SETLOCAL
|
4
|
+
|
5
|
+
if NOT DEFINED JAVA_HOME goto err
|
6
|
+
|
7
|
+
set SCRIPT_DIR=%~dp0
|
8
|
+
for %%I in ("%SCRIPT_DIR%..") do set ES_HOME=%%~dpfI
|
9
|
+
|
10
|
+
|
11
|
+
"%JAVA_HOME%\bin\java" %JAVA_OPTS% -Xmx64m -Xms16m -Des.path.home="%ES_HOME%" -cp "%ES_HOME%/lib/*;" "org.elasticsearch.plugins.PluginManager" %*
|
12
|
+
goto finally
|
13
|
+
|
14
|
+
|
15
|
+
:err
|
16
|
+
echo JAVA_HOME environment variable must be set!
|
17
|
+
pause
|
18
|
+
|
19
|
+
|
20
|
+
:finally
|
21
|
+
|
22
|
+
ENDLOCAL
|
@@ -0,0 +1,231 @@
|
|
1
|
+
@echo off
|
2
|
+
SETLOCAL
|
3
|
+
|
4
|
+
if NOT DEFINED JAVA_HOME goto err
|
5
|
+
|
6
|
+
set SCRIPT_DIR=%~dp0
|
7
|
+
for %%I in ("%SCRIPT_DIR%..") do set ES_HOME=%%~dpfI
|
8
|
+
|
9
|
+
rem Detect JVM version to figure out appropriate executable to use
|
10
|
+
if not exist "%JAVA_HOME%\bin\java.exe" (
|
11
|
+
echo JAVA_HOME points to an invalid Java installation (no java.exe found in "%JAVA_HOME%"^). Existing...
|
12
|
+
goto:eof
|
13
|
+
)
|
14
|
+
"%JAVA_HOME%\bin\java" -version 2>&1 | find "64-Bit" >nul:
|
15
|
+
|
16
|
+
if errorlevel 1 goto x86
|
17
|
+
set EXECUTABLE=%ES_HOME%\bin\elasticsearch-service-x64.exe
|
18
|
+
set SERVICE_ID=elasticsearch-service-x64
|
19
|
+
set ARCH=64-bit
|
20
|
+
goto checkExe
|
21
|
+
|
22
|
+
:x86
|
23
|
+
set EXECUTABLE=%ES_HOME%\bin\elasticsearch-service-x86.exe
|
24
|
+
set SERVICE_ID=elasticsearch-service-x86
|
25
|
+
set ARCH=32-bit
|
26
|
+
|
27
|
+
:checkExe
|
28
|
+
if EXIST "%EXECUTABLE%" goto okExe
|
29
|
+
echo elasticsearch-service-(x86|x64).exe was not found...
|
30
|
+
|
31
|
+
:okExe
|
32
|
+
set ES_VERSION=0.90.7
|
33
|
+
|
34
|
+
if "%LOG_DIR%" == "" set LOG_DIR=%ES_HOME%\logs
|
35
|
+
|
36
|
+
if "x%1x" == "xx" goto displayUsage
|
37
|
+
set SERVICE_CMD=%1
|
38
|
+
shift
|
39
|
+
if "x%1x" == "xx" goto checkServiceCmd
|
40
|
+
set SERVICE_ID=%1
|
41
|
+
|
42
|
+
:checkServiceCmd
|
43
|
+
|
44
|
+
if "%LOG_OPTS%" == "" set LOG_OPTS=--LogPath "%LOG_DIR%" --LogPrefix "%SERVICE_ID%" --StdError auto --StdOutput auto
|
45
|
+
|
46
|
+
if /i %SERVICE_CMD% == install goto doInstall
|
47
|
+
if /i %SERVICE_CMD% == remove goto doRemove
|
48
|
+
if /i %SERVICE_CMD% == start goto doStart
|
49
|
+
if /i %SERVICE_CMD% == stop goto doStop
|
50
|
+
if /i %SERVICE_CMD% == manager goto doManagment
|
51
|
+
echo Unknown option "%SERVICE_CMD%"
|
52
|
+
|
53
|
+
:displayUsage
|
54
|
+
echo.
|
55
|
+
echo Usage: service.bat install^|remove^|start^|stop^|manager [SERVICE_ID]
|
56
|
+
goto:eof
|
57
|
+
|
58
|
+
:doStart
|
59
|
+
"%EXECUTABLE%" //ES//%SERVICE_ID% %LOG_OPTS%
|
60
|
+
if not errorlevel 1 goto started
|
61
|
+
echo Failed starting '%SERVICE_ID%' service
|
62
|
+
goto:eof
|
63
|
+
:started
|
64
|
+
echo The service '%SERVICE_ID%' has been started
|
65
|
+
goto:eof
|
66
|
+
|
67
|
+
:doStop
|
68
|
+
"%EXECUTABLE%" //SS//%SERVICE_ID% %LOG_OPTS%
|
69
|
+
if not errorlevel 1 goto stopped
|
70
|
+
echo Failed stopping '%SERVICE_ID%' service
|
71
|
+
goto:eof
|
72
|
+
:stopped
|
73
|
+
echo The service '%SERVICE_ID%' has been stopped
|
74
|
+
goto:eof
|
75
|
+
|
76
|
+
:doManagment
|
77
|
+
set EXECUTABLE_MGR=%ES_HOME%\bin\elasticsearch-service-mgr.exe
|
78
|
+
"%EXECUTABLE_MGR%" //ES//%SERVICE_ID%
|
79
|
+
if not errorlevel 1 goto managed
|
80
|
+
echo Failed starting service manager for '%SERVICE_ID%'
|
81
|
+
goto:eof
|
82
|
+
:managed
|
83
|
+
echo Succesfully started service manager for '%SERVICE_ID%'.
|
84
|
+
goto:eof
|
85
|
+
|
86
|
+
:doRemove
|
87
|
+
rem Remove the service
|
88
|
+
"%EXECUTABLE%" //DS//%SERVICE_ID% %LOG_OPTS%
|
89
|
+
if not errorlevel 1 goto removed
|
90
|
+
echo Failed removing '%SERVICE_ID%' service
|
91
|
+
goto:eof
|
92
|
+
:removed
|
93
|
+
echo The service '%SERVICE_ID%' has been removed
|
94
|
+
goto:eof
|
95
|
+
|
96
|
+
:doInstall
|
97
|
+
echo Installing service : "%SERVICE_ID%"
|
98
|
+
echo Using JAVA_HOME (%ARCH%): "%JAVA_HOME%"
|
99
|
+
|
100
|
+
rem Check JVM server dll first
|
101
|
+
set JVM_DLL=%JAVA_HOME%\jre\bin\server\jvm.dll
|
102
|
+
if exist "%JVM_DLL%" goto foundJVM
|
103
|
+
|
104
|
+
rem Check 'server' JRE (JRE installed on Windows Server)
|
105
|
+
set JVM_DLL=%JAVA_HOME%\bin\server\jvm.dll
|
106
|
+
if exist "%JVM_DLL%" goto foundJVM
|
107
|
+
|
108
|
+
rem Fallback to 'client' JRE
|
109
|
+
set JVM_DLL=%JAVA_HOME%\bin\client\jvm.dll
|
110
|
+
|
111
|
+
if exist "%JVM_DLL%" (
|
112
|
+
echo Warning: JAVA_HOME points to a JRE and not JDK installation; a client (not a server^) JVM will be used...
|
113
|
+
) else (
|
114
|
+
echo JAVA_HOME points to an invalid Java installation (no jvm.dll found in "%JAVA_HOME%"^). Existing...
|
115
|
+
goto:eof
|
116
|
+
)
|
117
|
+
|
118
|
+
:foundJVM
|
119
|
+
if "%ES_MIN_MEM%" == "" set ES_MIN_MEM=256m
|
120
|
+
if "%ES_MAX_MEM%" == "" set ES_MAX_MEM=1g
|
121
|
+
|
122
|
+
if NOT "%ES_HEAP_SIZE%" == "" set ES_MIN_MEM=%ES_HEAP_SIZE%
|
123
|
+
if NOT "%ES_HEAP_SIZE%" == "" set ES_MAX_MEM=%ES_HEAP_SIZE%
|
124
|
+
|
125
|
+
call:convertxm %ES_MIN_MEM% JVM_XMS
|
126
|
+
call:convertxm %ES_MAX_MEM% JVM_XMX
|
127
|
+
|
128
|
+
rem java_opts might be empty - init to avoid tripping commons daemon (if the command starts with ;)
|
129
|
+
if not "%JAVA_OPTS%" == "" set JAVA_OPTS=%JAVA_OPTS% -XX:+UseParNewGC
|
130
|
+
if "%JAVA_OPTS%" == "" set JAVA_OPTS=-XX:+UseParNewGC
|
131
|
+
|
132
|
+
if NOT "%ES_HEAP_NEWSIZE%" == "" set JAVA_OPTS=%JAVA_OPTS% -Xmn%ES_HEAP_NEWSIZE%
|
133
|
+
|
134
|
+
if NOT "%ES_DIRECT_SIZE%" == "" set JAVA_OPTS=%JAVA_OPTS% -XX:MaxDirectMemorySize=%ES_DIRECT_SIZE%
|
135
|
+
|
136
|
+
rem thread stack size
|
137
|
+
set JVM_SS=256
|
138
|
+
|
139
|
+
REM Enable aggressive optimizations in the JVM
|
140
|
+
REM - Disabled by default as it might cause the JVM to crash
|
141
|
+
REM set JAVA_OPTS=%JAVA_OPTS% -XX:+AggressiveOpts
|
142
|
+
|
143
|
+
|
144
|
+
set JAVA_OPTS=%JAVA_OPTS% -XX:+UseConcMarkSweepGC
|
145
|
+
|
146
|
+
set JAVA_OPTS=%JAVA_OPTS% -XX:CMSInitiatingOccupancyFraction=75
|
147
|
+
set JAVA_OPTS=%JAVA_OPTS% -XX:+UseCMSInitiatingOccupancyOnly
|
148
|
+
|
149
|
+
REM GC logging options -- uncomment to enable
|
150
|
+
REM JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCDetails
|
151
|
+
REM JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCTimeStamps
|
152
|
+
REM JAVA_OPTS=%JAVA_OPTS% -XX:+PrintClassHistogram
|
153
|
+
REM JAVA_OPTS=%JAVA_OPTS% -XX:+PrintTenuringDistribution
|
154
|
+
REM JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCApplicationStoppedTime
|
155
|
+
REM JAVA_OPTS=%JAVA_OPTS% -Xloggc:/var/log/elasticsearch/gc.log
|
156
|
+
|
157
|
+
REM Causes the JVM to dump its heap on OutOfMemory.
|
158
|
+
set JAVA_OPTS=%JAVA_OPTS% -XX:+HeapDumpOnOutOfMemoryError
|
159
|
+
REM The path to the heap dump location, note directory must exists and have enough
|
160
|
+
REM space for a full heap dump.
|
161
|
+
REM JAVA_OPTS=%JAVA_OPTS% -XX:HeapDumpPath=$ES_HOME/logs/heapdump.hprof
|
162
|
+
|
163
|
+
if "%DATA_DIR%" == "" set DATA_DIR=%ES_HOME%\data
|
164
|
+
|
165
|
+
if "%WORK_DIR%" == "" set WORK_DIR=%ES_HOME%
|
166
|
+
|
167
|
+
if "%CONF_DIR%" == "" set CONF_DIR=%ES_HOME%\config
|
168
|
+
|
169
|
+
if "%CONF_FILE%" == "" set CONF_FILE=%ES_HOME%\config\elasticsearch.yml
|
170
|
+
|
171
|
+
set ES_CLASSPATH=%ES_CLASSPATH%;%ES_HOME%/lib/elasticsearch-%ES_VERSION%.jar;%ES_HOME%/lib/*;%ES_HOME%/lib/sigar/*
|
172
|
+
set ES_PARAMS=-Delasticsearch;-Des.path.home="%ES_HOME%";-Des.default.config="%CONF_FILE%";-Des.default.path.home="%ES_HOME%";-Des.default.path.logs="%LOG_DIR%";-Des.default.path.data="%DATA_DIR%";-Des.default.path.work="%WORK_DIR%";-Des.default.path.conf="%CONF_DIR%"
|
173
|
+
|
174
|
+
set JVM_OPTS=%JAVA_OPTS: =;%
|
175
|
+
|
176
|
+
if not "%ES_JAVA_OPTS%" == "" set JVM_ES_JAVA_OPTS=%ES_JAVA_OPTS: =#%
|
177
|
+
if not "%ES_JAVA_OPTS%" == "" set JVM_OPTS=%JVM_OPTS%;%JVM_ES_JAVA_OPTS%
|
178
|
+
|
179
|
+
if "%ES_START_TYPE%" == "" set ES_START_TYPE=manual
|
180
|
+
if "%ES_STOP_TIMEOUT%" == "" set ES_STOP_TIMEOUT=0
|
181
|
+
|
182
|
+
"%EXECUTABLE%" //IS//%SERVICE_ID% --Startup %ES_START_TYPE% --StopTimeout %ES_STOP_TIMEOUT% --StartClass org.elasticsearch.bootstrap.ElasticSearch --StopClass org.elasticsearch.bootstrap.ElasticSearch --StartMethod main --StopMethod close --Classpath "%ES_CLASSPATH%" --JvmSs %JVM_SS% --JvmMs %JVM_XMS% --JvmMx %JVM_XMX% --JvmOptions %JVM_OPTS% ++JvmOptions %ES_PARAMS% %LOG_OPTS% --PidFile "%SERVICE_ID%.pid" --DisplayName "Elasticsearch %ES_VERSION% (%SERVICE_ID%)" --Description "Elasticsearch %ES_VERSION% Windows Service - http://elasticsearch.org" --Jvm "%JVM_DLL%" --StartMode jvm --StopMode jvm --StartPath "%ES_HOME%"
|
183
|
+
|
184
|
+
|
185
|
+
if not errorlevel 1 goto installed
|
186
|
+
echo Failed installing '%SERVICE_ID%' service
|
187
|
+
goto:eof
|
188
|
+
|
189
|
+
:installed
|
190
|
+
echo The service '%SERVICE_ID%' has been installed.
|
191
|
+
goto:eof
|
192
|
+
|
193
|
+
:err
|
194
|
+
echo JAVA_HOME environment variable must be set!
|
195
|
+
pause
|
196
|
+
|
197
|
+
goto:eof
|
198
|
+
|
199
|
+
rem ---
|
200
|
+
rem Function for converting Xm[s|x] values into MB which Commons Daemon accepts
|
201
|
+
rem ---
|
202
|
+
:convertxm
|
203
|
+
set value=%~1
|
204
|
+
rem extract last char (unit)
|
205
|
+
set unit=%value:~-1%
|
206
|
+
rem assume the unit is specified
|
207
|
+
set conv=%value:~0,-1%
|
208
|
+
|
209
|
+
if "%unit%" == "k" goto kilo
|
210
|
+
if "%unit%" == "K" goto kilo
|
211
|
+
if "%unit%" == "m" goto mega
|
212
|
+
if "%unit%" == "M" goto mega
|
213
|
+
if "%unit%" == "g" goto giga
|
214
|
+
if "%unit%" == "G" goto giga
|
215
|
+
|
216
|
+
rem no unit found, must be bytes; consider the whole value
|
217
|
+
set conv=%value%
|
218
|
+
rem convert to KB
|
219
|
+
set /a conv=%conv% / 1024
|
220
|
+
:kilo
|
221
|
+
rem convert to MB
|
222
|
+
set /a conv=%conv% / 1024
|
223
|
+
goto mega
|
224
|
+
:giga
|
225
|
+
rem convert to MB
|
226
|
+
set /a conv=%conv% * 1024
|
227
|
+
:mega
|
228
|
+
set "%~2=%conv%"
|
229
|
+
goto:eof
|
230
|
+
|
231
|
+
ENDLOCAL
|