cookbook 'elasticsearch-cluster', '= 0.1.1'
elasticsearch-cluster (16) Versions 0.1.1 Follow3
Installs/Configures ElasticSearch Cluster
cookbook 'elasticsearch-cluster', '= 0.1.1', :supermarket
knife supermarket install elasticsearch-cluster
knife supermarket download elasticsearch-cluster
elasticsearch-cluster Cookbook
This is a Chef cookbook to manage ElasticSearch Cluster.
More features and attributes will be added over time, feel free to contribute
what you find missing!
For Production environment, always refer to Chef Supermarket.
Repository
https://github.com/vkhatri/chef-elasticsearch-cluster
Supported OS
This cookbook was tested on Amazon (2015-03) & Ubuntu (14.04) Linux and expected to work on similar platform families OS.
Supported ElasticSearch Version
This cookbook was tested for ElasticSearch v1.6.0.
Supported ElasticSearch Deployment
This cookbook supports both Package and Tarball based installation.
TODO
- add LWRP to manage plugins
- add LWRP to manage indexes
Recipes
elasticsearch-cluster::default
- default recipe (use it for run_list)elasticsearch-cluster::install
- install elasticsearch via package or tarballelasticsearch-cluster::java
- install java usingjava
cookbookelasticsearch-cluster::package
- install elasticsearch using repository packageelasticsearch-cluster::tarball
- install elasticsearch using tarballelasticsearch-cluster::user
- setup user/group for elasticsearch serviceelasticsearch-cluster::config
- configure elasticsearch
Cookbook Advanced Attributes
default['elasticsearch']['config']['cluster.name']
(default:nil
): elasticsearch cluster name, required to setup elasticsearch clusterdefault['elasticsearch']['install_method']
(default:package
): elasticsearch install method, options: package tarballdefault['elasticsearch']['install_java']
(default:true
): whether to install java using cookbookjava
default['elasticsearch']['service_action']
(default:[:enable, :start]
): elasticsearch service resource actiondefault['elasticsearch']['notify_restart']
(default:false
): whether to notify elasticsearch service on any config changedefault['elasticsearch']['setup_user']
(default:true
): whether to setup elasticsearch service user when installing via tarballdefault['elasticsearch']['auto_java_memory']
(default:true
): whether to calcuate maximum possible heap sizedefault['elasticsearch']['auto_system_memory']
(default:768
): minimum memory to keep for OS while allocating maximum possible memory to elasticsearch, used with node['elasticsearch']['auto_java_memory']default['elasticsearch']['use_chef_search']
(default:false
): whether to use Chef Search to find elasticsearch cluster nodes in an environment
for a given chef elasticsearch roledefault['elasticsearch']['search_role_name']
(default:elasticsearch_cluster
): chef role associated with elasticsearch nodes which add this cookbook
to elasticsearch nodes run listdefault['elasticsearch']['search_cluster_name_attr']
(default:nil
): node attribute to match elasticsearch cluster name, not necessary applicable to all
Cookbook Core Attributes
default['elasticsearch']['version']
(default:1.6.0
): elasticsearch version to installdefault['elasticsearch']['version_suffix']
(default:calculated
): elasticsearch package version suffixdefault['elasticsearch']['user']
(default:elasticsearch
): elasticsearch service userdefault['elasticsearch']['group']
(default:elasticsearch
): elasticsearch service groupdefault['elasticsearch']['conf_dir']
(default:/etc/elasticsearch
): elasticsearch configuration directorydefault['elasticsearch']['data_dir']
(default:/var/lib/elasticsearch
): elasticsearch data directorydefault['elasticsearch']['log_dir']
(default:/var/log/elasticsearch
): elasticsearch log directorydefault['elasticsearch']['work_dir']
(default:/tmp/elasticsearch
): elasticsearch temporary files directorydefault['elasticsearch']['plugins_dir']
(default:calcualted
): elasticsearch plugins directorydefault['elasticsearch']['conf_file']
(default:/etc/elasticsearch/elasticsearch.yml
): elasticsearch configuration filedefault['elasticsearch']['tarball_url']
(default:calculated
): elasticsearch tarball source urldefault['elasticsearch']['tarball_checksum']
(default:versions
): elasticsearch tarball version source sha256sumdefault['elasticsearch']['parent_dir']
(default:/usr/local/elasticsearch
): elasticsearch directory for tarball based installationdefault['elasticsearch']['install_dir']
(default:/usr/local/elasticsearch/elasticsearch
): elasticsearch symlink to current version source directory (for tarball based installation)default['elasticsearch']['source_dir']
(default:/usr/local/elasticsearch
): elasticsearch current version directory (for tarball based installation)default['elasticsearch']['home_dir']
(default:calculated
): elasticsearch home directorydefault['elasticsearch']['sysconfig_file']
(default:calculated
): elasticsearch service config file locationdefault['elasticsearch']['umask']
(default:0022
): file/directory umask for execute resource (for tarball based installation)default['elasticsearch']['mode']
(default:0755
): file/directory resource mode
Service Attributes
default['elasticsearch']['sysconfig']['ES_HEAP_NEWSIZE']
(default:nil
): elasticsearch service config file parameterdefault['elasticsearch']['sysconfig']['ES_DIRECT_SIZE']
(default:nil
): elasticsearch service config file parameterdefault['elasticsearch']['sysconfig']['ES_JAVA_OPTS']
(default:nil
): elasticsearch service config file parameterdefault['elasticsearch']['sysconfig']['MAX_OPEN_FILES']
(default:65_535
): elasticsearch service config file parameterdefault['elasticsearch']['sysconfig']['MAX_LOCKED_MEMORY']
(default:unlimited
): elasticsearch service config file parameterdefault['elasticsearch']['sysconfig']['MAX_MAP_COUNT']
(default:262_144
): elasticsearch service config file parameterdefault['elasticsearch']['sysconfig']['ES_RESTART_ON_UPGRADE']
(default:true
): elasticsearch service config file parameterdefault['elasticsearch']['sysconfig']['ES_HEAP_SIZE']
(default:calculated
): elasticsearch service config file parameter
ElasticSearch Configuration File Attributes
default['elasticsearch']['config']['cluster.name']
(default:nil
): elasticsearch configuration parameterdefault['elasticsearch']['config']['node.name']
(default:node.name
): elasticsearch configuration parameterdefault['elasticsearch']['config']['node.master']
(default:true
): elasticsearch configuration parameterdefault['elasticsearch']['config']['node.data']
(default:true
): elasticsearch configuration parameterdefault['elasticsearch']['config']['node.max_local_storage_nodes']
(default:1
): elasticsearch configuration parameterdefault['elasticsearch']['config']['index.number_of_shards']
(default:5
): elasticsearch configuration parameterdefault['elasticsearch']['config']['index.number_of_replicas']
(default:1
): elasticsearch configuration parameterdefault['elasticsearch']['config']['path.conf']
(default:node['elasticsearch']['conf_dir']
): elasticsearch configuration parameterdefault['elasticsearch']['config']['path.data']
(default:node['elasticsearch']['data_dir']
): elasticsearch configuration parameterdefault['elasticsearch']['config']['path.work']
(default:node['elasticsearch']['work_dir']
): elasticsearch configuration parameterdefault['elasticsearch']['config']['path.logs']
(default:node['elasticsearch']['log_dir']
): elasticsearch configuration parameterdefault['elasticsearch']['config']['path.plugins']
(default:node['elasticsearch']['plugins_dir']
): elasticsearch configuration parameterdefault['elasticsearch']['config']['bootstrap.mlockall']
(default:true
): elasticsearch configuration parameterdefault['elasticsearch']['config']['network.bind_host']
(default:node['ipaddress']
): elasticsearch configuration parameterdefault['elasticsearch']['config']['network.publish_host']
(default:node['ipaddress']
): elasticsearch configuration parameterdefault['elasticsearch']['config']['transport.tcp.port']
(default:9300
): elasticsearch configuration parameterdefault['elasticsearch']['config']['transport.tcp.compress']
(default:true
): elasticsearch configuration parameterdefault['elasticsearch']['config']['http.port']
(default:9200
): elasticsearch configuration parameterdefault['elasticsearch']['config']['discovery.zen.minimum_master_nodes']
(default:1
): elasticsearch configuration parameterdefault['elasticsearch']['config']['discovery.zen.ping.timeout']
(default:3s
): elasticsearch configuration parameterdefault['elasticsearch']['config']['discovery.zen.ping.multicast.enabled']
(default:false
): elasticsearch configuration parameterdefault['elasticsearch']['config']['discovery.zen.ping.unicast.hosts']
(default:[]
): elasticsearch configuration parameterdefault['elasticsearch']['config']['action.auto_create_index']
(default:true
): elasticsearch configuration parameterdefault['elasticsearch']['config']['action.disable_delete_all_indices']
(default:true
): elasticsearch configuration parameterdefault['elasticsearch']['config']['script.disable_dynamic']
(default:true
): elasticsearch configuration parameter
Contributing
- Fork the repository on Github
- Create a named feature branch (like
add_component_x
) - Write your change
- Write tests for your change (if applicable)
- Run the tests (
rake & rake knife
), ensuring they all pass - Write new resource/attribute description to
README.md
- Write description about changes to PR
- Submit a Pull Request using Github
Copyright & License
Authors:: Virender Khatri and Contributors
<pre>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
</pre>
Dependent cookbooks
java >= 0.0.0 |
yum >= 0.0.0 |
apt >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
elasticsearch-cluster CHANGELOG
This file is used to list changes made in each version of the elasticsearch-cluster cookbook.
0.1.1
- Virender Khatri - README and minor updates
0.1.0
- Virender Khatri - Initial release of elasticsearch-cluster
Check the Markdown Syntax Guide for help with Markdown.
The Github Flavored Markdown page describes the differences between markdown on github and standard markdown.
Foodcritic Metric
0.1.1 passed this metric
0.1.1 passed this metric