Page MenuHomeSoftware Heritage

README.md
No OneTemporary

README.md

# puppet-elasticsearch
A puppet module for managing elasticsearch nodes
http://www.elasticsearch.org/
[![Build Status](https://travis-ci.org/electrical/puppet-elasticsearch.png?branch=master)](https://travis-ci.org/electrical/puppet-elasticsearch)
## Usage
Installation, make sure service is running and will be started at boot time:
class { 'elasticsearch': }
Install a certain version:
class { 'elasticsearch':
version => '0.20.6'
}
Removal/decommissioning:
class { 'elasticsearch':
ensure => 'absent',
}
Install everything but disable service(s) afterwards:
class { 'elasticsearch':
status => 'disabled',
}
Disable automated restart of Elasticsearch on config file change:
class { 'elasticsearch':
restart_on_change => false
}
For the config variable a hash needs to be passed:
class { 'elasticsearch':
config => {
'node' => {
'name' => 'elasticsearch001'
},
'index' => {
'number_of_replicas' => '0',
'number_of_shards' => '5'
},
'network' => {
'host' => $::ipaddress
}
}
}
Short write up of the config hash is also possible.
Instead of writing the full hash representation:
class { 'elasticsearch':
config => {
'cluster' => {
'name' => 'ClusterName',
'routing' => {
'allocation' => {
'awareness' => {
'attributes' => 'rack'
}
}
}
}
}
}
You can write the dotted key naming:
class { 'elasticsearch':
config => {
'cluster' => {
'name' => 'ClusterName',
'routing.allocation.awareness.attributes' => 'rack'
}
}
}
## Defaults file
You can populate the defaults file ( /etc/defaults/elasticsearch or /etc/sysconfig/elasticsearch )
class { 'elasticsearch':
service_settings => { 'ES_USER' => 'elasticsearch', 'ES_GROUP' => 'elasticsearch' }
}
## Manage templates
### Add a new template
elasticsearch::template { 'templatename':
file => 'puppet:///path/to/template.json'
}
### Delete a template
elasticsearch::template { 'templatename':
delete => true
}
### Replace a template
elasticsearch::template { 'templatename':
file => 'puppet:///path/to/template.json',
replace => true
}
### Host
Default it uses localhost:9200 as host. you can change this with the 'host' and 'port' variables
elasticsearch::template { 'templatename':
host => $::ipaddress,
port => 9200
}

File Metadata

Mime Type
text/plain
Expires
Sat, Jun 21, 7:37 PM (2 w, 4 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3361915

Event Timeline