springboard 0.18.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +22 -0
  4. data/README.md +63 -0
  5. data/Rakefile +23 -0
  6. data/bin/elasticsearch +18 -0
  7. data/bin/es_plugin +3 -0
  8. data/lib/springboard/generators/USAGE +9 -0
  9. data/lib/springboard/generators/config_generator.rb +24 -0
  10. data/lib/springboard/generators/templates/elasticsearch.in.sh +47 -0
  11. data/lib/springboard/generators/templates/elasticsearch.yml +7 -0
  12. data/lib/springboard/generators/templates/logging.yml +30 -0
  13. data/lib/springboard/railtie.rb +13 -0
  14. data/lib/springboard/tasks.rb +8 -0
  15. data/lib/springboard/version.rb +3 -0
  16. data/lib/springboard.rb +1 -0
  17. data/springboard.gemspec +18 -0
  18. data/vendor/elasticsearch/LICENSE.txt +537 -0
  19. data/vendor/elasticsearch/NOTICE.txt +12 -0
  20. data/vendor/elasticsearch/README.textile +223 -0
  21. data/vendor/elasticsearch/bin/elasticsearch +181 -0
  22. data/vendor/elasticsearch/bin/elasticsearch.in.sh +47 -0
  23. data/vendor/elasticsearch/bin/plugin +31 -0
  24. data/vendor/elasticsearch/config/elasticsearch.yml +337 -0
  25. data/vendor/elasticsearch/config/logging.yml +44 -0
  26. data/vendor/elasticsearch/lib/elasticsearch-0.18.7.jar +0 -0
  27. data/vendor/elasticsearch/lib/jline-0.9.94.jar +0 -0
  28. data/vendor/elasticsearch/lib/jna-3.2.7.jar +0 -0
  29. data/vendor/elasticsearch/lib/log4j-1.2.16.jar +0 -0
  30. data/vendor/elasticsearch/lib/lucene-analyzers-3.5.0.jar +0 -0
  31. data/vendor/elasticsearch/lib/lucene-core-3.5.0.jar +0 -0
  32. data/vendor/elasticsearch/lib/lucene-highlighter-3.5.0.jar +0 -0
  33. data/vendor/elasticsearch/lib/lucene-memory-3.5.0.jar +0 -0
  34. data/vendor/elasticsearch/lib/lucene-queries-3.5.0.jar +0 -0
  35. data/vendor/elasticsearch/lib/sigar/libsigar-amd64-freebsd-6.so +0 -0
  36. data/vendor/elasticsearch/lib/sigar/libsigar-amd64-linux.so +0 -0
  37. data/vendor/elasticsearch/lib/sigar/libsigar-amd64-solaris.so +0 -0
  38. data/vendor/elasticsearch/lib/sigar/libsigar-ia64-linux.so +0 -0
  39. data/vendor/elasticsearch/lib/sigar/libsigar-sparc-solaris.so +0 -0
  40. data/vendor/elasticsearch/lib/sigar/libsigar-sparc64-solaris.so +0 -0
  41. data/vendor/elasticsearch/lib/sigar/libsigar-universal-macosx.dylib +0 -0
  42. data/vendor/elasticsearch/lib/sigar/libsigar-universal64-macosx.dylib +0 -0
  43. data/vendor/elasticsearch/lib/sigar/libsigar-x86-freebsd-5.so +0 -0
  44. data/vendor/elasticsearch/lib/sigar/libsigar-x86-freebsd-6.so +0 -0
  45. data/vendor/elasticsearch/lib/sigar/libsigar-x86-linux.so +0 -0
  46. data/vendor/elasticsearch/lib/sigar/libsigar-x86-solaris.so +0 -0
  47. data/vendor/elasticsearch/lib/sigar/sigar-1.6.4.jar +0 -0
  48. metadata +114 -0
@@ -0,0 +1,31 @@
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
+ exec $JAVA -Delasticsearch -Des.path.home="$ES_HOME" -cp "$ES_HOME/lib/*" org.elasticsearch.plugins.PluginManager $*
@@ -0,0 +1,337 @@
1
+ ##################### ElasticSearch Configuration Example #####################
2
+
3
+ # This file contains an overview of various configuration settings,
4
+ # targeted at operations staff. Application developers should
5
+ # consult the guide at <http://elasticsearch.org/guide>.
6
+ #
7
+ # The installation procedure is covered at
8
+ # <http://elasticsearch.org/guide/reference/setup/installation.html>.
9
+ #
10
+ # ElasticSearch comes with reasonable defaults for most settings,
11
+ # so you can try it out without bothering with configuration.
12
+ #
13
+ # Most of the time, these defaults are just fine for running a production
14
+ # cluster. If you're fine-tuning your cluster, or wondering about the
15
+ # effect of certain configuration option, please _do ask_ on the
16
+ # mailing list or IRC channel [http://elasticsearch.org/community].
17
+
18
+ # Any element in the configuration can be replaced with environment variables
19
+ # by placing them in ${...} notation. For example:
20
+ #
21
+ # node.rack: ${RACK_ENV_VAR}
22
+
23
+ # See <http://elasticsearch.org/guide/reference/setup/configuration.html>
24
+ # for information on supported formats and syntax for the configuration file.
25
+
26
+
27
+ ################################### Cluster ###################################
28
+
29
+ # Cluster name identifies your cluster for auto-discovery. If you're running
30
+ # multiple clusters on the same network, make sure you're using unique names.
31
+ #
32
+ # cluster.name: elasticsearch
33
+
34
+
35
+ #################################### Node #####################################
36
+
37
+ # Node names are generated dynamically on startup, so you're relieved
38
+ # from configuring them manually. You can tie this node to a specific name:
39
+ #
40
+ # node.name: "Franz Kafka"
41
+
42
+ # Every node can be configured to allow or deny being eligible as the master,
43
+ # and to allow or deny to store the data.
44
+ #
45
+ # Allow this node to be eligible as a master node (enabled by default):
46
+ #
47
+ # node.master: true
48
+ #
49
+ # Allow this node to store data (enabled by default):
50
+ #
51
+ # node.data: true
52
+
53
+ # You can exploit these settings to design advanced cluster topologies.
54
+ #
55
+ # 1. You want this node to never become a master node, only to hold data.
56
+ # This will be the "workhorse" of your cluster.
57
+ #
58
+ # node.master: false
59
+ # node.data: true
60
+ #
61
+ # 2. You want this node to only serve as a master: to not store any data and
62
+ # to have free resources. This will be the "coordinator" of your cluster.
63
+ #
64
+ # node.master: true
65
+ # node.data: false
66
+ #
67
+ # 3. You want this node to be neither master nor data node, but
68
+ # to act as a "search load balancer" (fetching data from nodes,
69
+ # aggregating results, etc.)
70
+ #
71
+ # node.master: false
72
+ # node.data: false
73
+
74
+ # Use the Cluster Health API [http://localhost:9200/_cluster/health], the
75
+ # Node Info API [http://localhost:9200/_cluster/nodes] or GUI tools
76
+ # such as <http://github.com/lukas-vlcek/bigdesk> and
77
+ # <http://mobz.github.com/elasticsearch-head> to inspect the cluster state.
78
+
79
+ # A node can have generic attributes associated with it, which can later be used
80
+ # for customized shard allocation filtering, or allocation awareness. An attribute
81
+ # is a simple key value pair, similar to node.key: value, here is an example:
82
+ #
83
+ # node.rack: rack314
84
+
85
+
86
+ #################################### Index ####################################
87
+
88
+ # You can set a number of options (such as shard/replica options, mapping
89
+ # or analyzer definitions, translog settings, ...) for indices globally,
90
+ # in this file.
91
+ #
92
+ # Note, that it makes more sense to configure index settings specifically for
93
+ # a certain index, either when creating it or by using the index templates API.
94
+ #
95
+ # See <http://elasticsearch.org/guide/reference/index-modules/> and
96
+ # <http://elasticsearch.org/guide/reference/api/admin-indices-create-index.html>
97
+ # for more information.
98
+
99
+ # Set the number of shards (splits) of an index (5 by default):
100
+ #
101
+ # index.number_of_shards: 5
102
+
103
+ # Set the number of replicas (additional copies) of an index (1 by default):
104
+ #
105
+ # index.number_of_replicas: 1
106
+
107
+ # Note, that for development on a local machine, with small indices, it usually
108
+ # makes sense to "disable" the distributed features:
109
+ #
110
+ # index.number_of_shards: 1
111
+ # index.number_of_replicas: 0
112
+
113
+ # These settings directly affect the performance of index and search operations
114
+ # in your cluster. Assuming you have enough machines to hold shards and
115
+ # replicas, the rule of thumb is:
116
+ #
117
+ # 1. Having more *shards* enhances the _indexing_ performance and allows to
118
+ # _distribute_ a big index across machines.
119
+ # 2. Having more *replicas* enhances the _search_ performance and improves the
120
+ # cluster _availability_.
121
+ #
122
+ # The "number_of_shards" is a one-time setting for an index.
123
+ #
124
+ # The "number_of_replicas" can be increased or decreased anytime,
125
+ # by using the Index Update Settings API.
126
+ #
127
+ # ElasticSearch takes care about load balancing, relocating, gathering the
128
+ # results from nodes, etc. Experiment with different settings to fine-tune
129
+ # your setup.
130
+
131
+ # Use the Index Status API (<http://localhost:9200/A/_status>) to inspect
132
+ # the index status.
133
+
134
+
135
+ #################################### Paths ####################################
136
+
137
+ # Path to directory containing configuration (this file and logging.yml):
138
+ #
139
+ # path.conf: /path/to/conf
140
+
141
+ # Path to directory where to store index data allocated for this node.
142
+ #
143
+ # path.data: /path/to/data
144
+ #
145
+ # Can optionally include more than one location, causing data to be striped across
146
+ # the locations (à la RAID 0) on a file level, favouring locations with most free
147
+ # space on creation. For example:
148
+ #
149
+ # path.data: /path/to/data1,/path/to/data2
150
+
151
+ # Path to temporary files:
152
+ #
153
+ # path.work: /path/to/work
154
+
155
+ # Path to log files:
156
+ #
157
+ # path.logs: /path/to/logs
158
+
159
+ # Path to where plugins are installed:
160
+ #
161
+ # path.plugins: /path/to/plugins
162
+
163
+
164
+ ################################### Memory ####################################
165
+
166
+ # ElasticSearch performs poorly when JVM starts swapping: you should ensure that
167
+ # it _never_ swaps.
168
+ #
169
+ # Set this property to true to lock the memory:
170
+ #
171
+ # bootstrap.mlockall: true
172
+
173
+ # Make sure that the ES_MIN_MEM and ES_MAX_MEM environment variables are set
174
+ # to the same value, and that the machine has enough memory to allocate
175
+ # for ElasticSearch, leaving enough memory for the operating system itself.
176
+ #
177
+ # You should also make sure that the ElasticSearch process is allowed to lock
178
+ # the memory, eg. by using `ulimit -l unlimited`.
179
+
180
+
181
+ ############################## Network And HTTP ###############################
182
+
183
+ # ElasticSearch, by default, binds itself to the 0.0.0.0 address, and listens
184
+ # on port [9200-9300] for HTTP traffic and on port [9300-9400] for node-to-node
185
+ # communication. (the range means that if the port is busy, it will automatically
186
+ # try the next port).
187
+
188
+ # Set the bind address specifically (IPv4 or IPv6):
189
+ #
190
+ # network.bind_host: 192.168.0.1
191
+
192
+ # Set the address other nodes will use to communicate with this node. If not
193
+ # set, it is automatically derived. It must point to an actual IP address.
194
+ #
195
+ # network.publish_host: 192.168.0.1
196
+
197
+ # Set both 'bind_host' and 'publish_host':
198
+ #
199
+ # network.host: 192.168.0.1
200
+
201
+ # Set a custom port for the node to node communication (9300 by default):
202
+ #
203
+ # transport.tcp.port: 9300
204
+
205
+ # Enable compression for all communication between nodes (disabled by default):
206
+ #
207
+ # transport.tcp.compress: true
208
+
209
+ # Set a custom port to listen for HTTP traffic:
210
+ #
211
+ # http.port: 9200
212
+
213
+ # Set a custom allowed content length:
214
+ #
215
+ # http.max_content_length: 100mb
216
+
217
+ # Disable HTTP completely:
218
+ #
219
+ # http.enabled: false
220
+
221
+
222
+ ################################### Gateway ###################################
223
+
224
+ # The gateway allows for persisting the cluster state between full cluster
225
+ # restarts. Every change to the state (such as adding an index) will be stored
226
+ # in the gateway, and when the cluster starts up for the first time,
227
+ # it will read its state from the gateway.
228
+
229
+ # There are several types of gateway implementations. For more information,
230
+ # see <http://elasticsearch.org/guide/reference/modules/gateway>.
231
+
232
+ # The default gateway type is the "local" gateway (recommended):
233
+ #
234
+ # gateway.type: local
235
+
236
+ # Settings below control how and when to start the initial recovery process on
237
+ # a full cluster restart (to reuse as much local data as possible).
238
+
239
+ # Allow recovery process after N nodes in a cluster are up:
240
+ #
241
+ # gateway.recover_after_nodes: 1
242
+
243
+ # Set the timeout to initiate the recovery process, once the N nodes
244
+ # from previous setting are up (accepts time value):
245
+ #
246
+ # gateway.recover_after_time: 5m
247
+
248
+ # Set how many nodes are expected in this cluster. Once these N nodes
249
+ # are up, begin recovery process immediately:
250
+ #
251
+ # gateway.expected_nodes: 2
252
+
253
+
254
+ ############################# Recovery Throttling #############################
255
+
256
+ # These settings allow to control the process of shards allocation between
257
+ # nodes during initial recovery, replica allocation, rebalancing,
258
+ # or when adding and removing nodes.
259
+
260
+ # Set the number of concurrent recoveries happening on a node:
261
+ #
262
+ # 1. During the initial recovery
263
+ #
264
+ # cluster.routing.allocation.node_initial_primaries_recoveries: 4
265
+ #
266
+ # 2. During adding/removing nodes, rebalancing, etc
267
+ #
268
+ # cluster.routing.allocation.node_concurrent_recoveries: 2
269
+
270
+ # Set to throttle throughput when recovering (eg. 100mb, by default unlimited):
271
+ #
272
+ # indices.recovery.max_size_per_sec: 0
273
+
274
+ # Set to limit the number of open concurrent streams when
275
+ # recovering a shard from a peer:
276
+ #
277
+ # indices.recovery.concurrent_streams: 5
278
+
279
+
280
+ ################################## Discovery ##################################
281
+
282
+ # Discovery infrastructure ensures nodes can be found within a cluster
283
+ # and master node is elected. Multicast discovery is the default.
284
+
285
+ # Set to ensure a node sees N other master eligible nodes to be considered
286
+ # operational within the cluster. Set this option to a higher value (2-4)
287
+ # for large clusters:
288
+ #
289
+ # discovery.zen.minimum_master_nodes: 1
290
+
291
+ # Set the time to wait for ping responses from other nodes when discovering.
292
+ # Set this option to a higher value on a slow or congested network
293
+ # to minimize discovery failures:
294
+ #
295
+ # discovery.zen.ping.timeout: 3s
296
+
297
+ # See <http://elasticsearch.org/guide/reference/modules/discovery/zen.html>
298
+ # for more information.
299
+
300
+ # Unicast discovery allows to explicitly control which nodes will be used
301
+ # to discover the cluster. It can be used when multicast is not present,
302
+ # or to restrict the cluster communication-wise.
303
+ #
304
+ # 1. Disable multicast discovery (enabled by default):
305
+ #
306
+ # discovery.zen.ping.multicast.enabled: false
307
+ #
308
+ # 2. Configure an initial list of master nodes in the cluster
309
+ # to perform discovery when new nodes (master or data) are started:
310
+ #
311
+ # discovery.zen.ping.unicast.hosts: ["host1", "host2:port", "host3[portX-portY]"]
312
+
313
+ # EC2 discovery allows to use AWS EC2 API in order to perform discovery.
314
+ #
315
+ # You have to install the cloud-aws plugin for enabling the EC2 discovery.
316
+ #
317
+ # See <http://elasticsearch.org/guide/reference/modules/discovery/ec2.html>
318
+ # for more information.
319
+ #
320
+ # See <http://elasticsearch.org/tutorials/2011/08/22/elasticsearch-on-ec2.html>
321
+ # for a step-by-step tutorial.
322
+
323
+
324
+ ################################## Slow Log ##################################
325
+
326
+ # Shard level query and fetch threshold logging.
327
+
328
+ #index.search.slowlog.level: TRACE
329
+ #index.search.slowlog.threshold.query.warn: 10s
330
+ #index.search.slowlog.threshold.query.info: 5s
331
+ #index.search.slowlog.threshold.query.debug: 2s
332
+ #index.search.slowlog.threshold.query.trace: 500ms
333
+
334
+ #index.search.slowlog.threshold.fetch.warn: 1s
335
+ #index.search.slowlog.threshold.fetch.info: 800ms
336
+ #index.search.slowlog.threshold.fetch.debug: 500ms
337
+ #index.search.slowlog.threshold.fetch.trace: 200ms
@@ -0,0 +1,44 @@
1
+ rootLogger: INFO, console, file
2
+ logger:
3
+ # log action execution errors for easier debugging
4
+ action: DEBUG
5
+ # reduce the logging for aws, too much is logged under the default INFO
6
+ com.amazonaws: WARN
7
+
8
+ # gateway
9
+ #gateway: DEBUG
10
+ #index.gateway: DEBUG
11
+
12
+ # peer shard recovery
13
+ #indices.recovery: DEBUG
14
+
15
+ # discovery
16
+ #discovery: TRACE
17
+
18
+ index.search.slowlog: TRACE, index_search_slow_log_file
19
+
20
+ additivity:
21
+ index.search.slowlog: false
22
+
23
+ appender:
24
+ console:
25
+ type: console
26
+ layout:
27
+ type: consolePattern
28
+ conversionPattern: "[%d{ISO8601}][%-5p][%-25c] %m%n"
29
+
30
+ file:
31
+ type: dailyRollingFile
32
+ file: ${path.logs}/${cluster.name}.log
33
+ datePattern: "'.'yyyy-MM-dd"
34
+ layout:
35
+ type: pattern
36
+ conversionPattern: "[%d{ISO8601}][%-5p][%-25c] %m%n"
37
+
38
+ index_search_slow_log_file:
39
+ type: dailyRollingFile
40
+ file: ${path.logs}/${cluster.name}_index_search_slowlog.log
41
+ datePattern: "'.'yyyy-MM-dd"
42
+ layout:
43
+ type: pattern
44
+ conversionPattern: "[%d{ISO8601}][%-5p][%-25c] %m%n"