cookbook 'riak', '= 3.0.1'
    riak
    
      
        
          (51) Versions
        
        3.0.1
      
        - 
        
            - 
            
              3.1.4
              
            
- 
            
              3.1.3
              
            
- 
            
              3.1.2
              
            
- 
            
              3.1.1
              
            
- 
            
              3.1.0
              
            
- 
            
              3.0.2
              
            
- 
            
              3.0.1
              
            
- 
            
              3.0.0
              
            
- 
            
              2.4.21
              
            
- 
            
              2.4.20
              
            
- 
            
              2.4.19
              
            
- 
            
              2.4.18
              
            
- 
            
              2.4.17
              
            
- 
            
              2.4.16
              
            
- 
            
              2.4.15
              
            
- 
            
              2.4.14
              
            
- 
            
              2.4.13
              
            
- 
            
              2.4.12
              
            
- 
            
              2.4.11
              
            
- 
            
              2.4.10
              
            
- 
            
              2.4.9
              
            
- 
            
              2.4.8
              
            
- 
            
              2.4.7
              
            
- 
            
              2.4.6
              
            
- 
            
              2.4.5
              
            
- 
            
              2.4.4
              
            
- 
            
              2.4.3
              
            
- 
            
              2.4.2
              
            
- 
            
              2.4.1
              
            
- 
            
              2.4.0
              
            
- 
            
              2.3.4
              
            
- 
            
              2.3.3
              
            
- 
            
              2.3.2
              
            
- 
            
              2.2.0
              
            
- 
            
              2.0.1
              
            
- 
            
              2.0.0
              
            
- 
            
              1.3.0
              
            
- 
            
              1.2.1
              
            
- 
            
              1.1.0
              
            
- 
            
              1.0.3
              
            
- 
            
              1.0.2
              
            
- 
            
              0.14.5
              
            
- 
            
              0.14.4
              
            
- 
            
              0.14.3
              
            
- 
            
              0.14.2
              
            
- 
            
              0.14.1
              
            
- 
            
              0.14.0
              
            
- 
            
              0.12.1
              
            
- 
            
              0.12.0
              
            
- 
            
              0.11.0
              
            
- 
            
              0.1.0
              
            
 
Follow39
  - 3.1.4
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.2
- 3.0.1
- 3.0.0
- 2.4.21
- 2.4.20
- 2.4.19
- 2.4.18
- 2.4.17
- 2.4.16
- 2.4.15
- 2.4.14
- 2.4.13
- 2.4.12
- 2.4.11
- 2.4.10
- 2.4.9
- 2.4.8
- 2.4.7
- 2.4.6
- 2.4.5
- 2.4.4
- 2.4.3
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.4
- 2.3.3
- 2.3.2
- 2.2.0
- 2.0.1
- 2.0.0
- 1.3.0
- 1.2.1
- 1.1.0
- 1.0.3
- 1.0.2
- 0.14.5
- 0.14.4
- 0.14.3
- 0.14.2
- 0.14.1
- 0.14.0
- 0.12.1
- 0.12.0
- 0.11.0
- 0.1.0
Installs and configures Riak distributed data store
cookbook 'riak', '= 3.0.1', :supermarket
knife supermarket install riak
knife supermarket download riak
riak
Description
Riak is an open source, distributed database that
focuses on high availability, horizontal scalability, and predictable
latency.
Requirements
Platforms
- Ubuntu 14.04
- Ubuntu 12.04
- Debian 7.2.0
- CentOS 7.0
- CentOS 6.5
- CentOS 5.10
- Fedora 19
Cookbooks
- apt
- build-essential
- erlang
- git
- java
- sysctl
- ulimit
- yum
- yum-epel
Attributes
- 
node['riak']['install_method']- Method to install Riak (package,enterprise_package,source,source,custom_repository)
- 
node['riak']['platform_bin_dir']- Base directory for binaries.
- 
node['riak']['platform_data_dir']- Base directory for data files.
- 
node['riak']['platform_etc_dir']- Base directory for configuration files.
- 
node['riak']['platform_log_dir']- Base directory for log files.
- 
node['riak']['platform_lib_dir']- Base directory for libraries.
- 
node['riak']['patches']- List of patches to apply by placing in thebasho-patchesdirectory.
- 
node['riak']['config']['log.console']- Where to emit the default log messages (off,file,console,both).
- 
node['riak']['config']['log']['console']['level']- Severity level of the console log (ebug,info,warning,error).
- 
node['riak']['config']['log']['console']['file']- Whennode['riak']['config']['log.console']is set tofileorboth, the file where console messages will be logged.
- 
node['riak']['config']['log']['error']['file']- The file where error messages will be logged.
- 
node['riak']['config']['log']['syslog']- Enables log output to syslog (on,off).
- 
node['riak']['config']['log.crash']- Whether to enable the crash log (on,off).
- 
node['riak']['config']['log']['crash']['file']- The file where its messages will be written.
- 
node['riak']['config']['log']['crash']['maximum_message_size']- Maximum size (in bytes) of individual messages in the crash log.
- 
node['riak']['config']['log']['crash']['size']- Maximum size of the crash log (in bytes), before it is rotated.
- 
node['riak']['config']['log']['crash.rotation']- The schedule on which to rotate the crash log. See here for details.
- 
node['riak']['config']['log']['crash']['rotation']['keep']- The number of rotated crash logs to keep.
- 
node['riak']['config']['nodename']- Name of the Erlang node.
- 
node['riak']['config']['distributed_cookie']- Cookie for distributed node communication.
- 
node['riak']['config']['erlang']['async_threads']- Number of threads in async thread pool (0-1024).
- 
node['riak']['config']['erlang']['max_ports']- Number of concurrent ports/sockets (1024-134217727).
- 
node['riak']['config']['ring_size']- Number of partitions in the cluster (must be a power of 2).
- 
node['riak']['config']['transfer_limit']- Number of concurrent node-to- node transfers allowed.
- 
node['riak']['config']['ring']['state_dir']- Location of ring state.
- 
node['riak']['config']['ssl']['certfile']- Default certificate location for HTTPS.
- 
node['riak']['config']['ssl']['keyfile']- Default key location for HTTPS.
- 
node['riak']['config']['ssl']['cacertfile']- Default signing authority for HTTPS.
- 
node['riak']['config']['dtrace']- Enable DTrace (on,off).
- 
node['riak']['config']['strong_consistency']- Enable consensus subsystem (on,off).
- 
node['riak']['config']['listener']['http']['internal']- IP address and TCP port that the Riak HTTP interface will bind to.
- 
node['riak']['config']['listener']['protobuf']['internal']- IP address and TCP port that the Riak Protocol Buffers interface will bind to.
- 
node['riak']['config']['protobuf']['backlog']- Maximum length of pending connections queue.
- 
node['riak']['config']['listener']['https']['internal']- IP address and TCP port that the Riak HTTPS interface will bind to.
- 
node['riak']['config']['anti_entropy']- Strategy of repairing out-of-sync keys (active,passive,active-debug).
- 
node['riak']['config']['storage_backend']- Storage backend for Riak's key-value and secondary index data (bitcask,leveldb,memory,multi).
- 
node['riak']['config']['object']['format']- Binary representation of a Riak value stored on disk (0,1).
- 
node['riak']['config']['metadata_cache_size']- Size of the metadata cache for each vnode.
- 
node['riak']['config']['object']['size']['warning_threshold']- Reading or writing objects larger than this size will write a warning in the logs.
- 
node['riak']['config']['object']['size']['maximum']- Writing an object larger than this will send a failure to the client.
- 
node['riak']['config']['object']['siblings']['warning_threshold']- Writing an object with more than this number of siblings will generate a warning in the logs.
- 
node['riak']['config']['object']['siblings']['maximum']- Writing an object with more than this number of siblings will send a failure to the client.
- 
node['riak']['config']['bitcask']['data_root']- A path under which Bitcask data files will be stored.
- 
node['riak']['config']['bitcask']['io_mode']- How Bitcask writes to disk (erlang,nif).
- 
node['riak']['config']['riak_control.top_level']- Enable administrative UI (on,off).
- 
node['riak']['config']['riak_control']['auth']['mode']- Authentication mode used for access to the administrative panel.
- 
node['riak']['config']['riak_control']['auth']['user']['user']['password']- List of usernames and passwords for access to Riak Control.
 
- 
node['riak']['config']['leveldb']['data_root']- A path under which LevelDB data files will be stored.
- 
node['riak']['config']['leveldb']['maximum_memory']['percent']- Percentage of total server memory to assign to LevelDB.
- 
node['riak']['config']['leveldb']['compaction']['trigger']['tombstone_count']- Controls when background LevelDB compaction initiates.
 
- 
node['riak']['config']['jmx']- Enable JMX monitoring output (on,off).
- 
node['riak']['config']['search.top_level']- Enable Riak Search (on,off).
- 
node['riak']['config']['search']['solr']['start_timeout']- How long Riak will wait for Solr to start.
- 
node['riak']['config']['search']['solr']['port']- Port number Solr will bind to.
- 
node['riak']['config']['search']['solr']['jmx_port']- Port number which Solr JMX binds to.
- 
node['riak']['config']['search']['solr']['jvm_options']- Options to pass to the Solr JVM.
- 
node['riak']['config']['search']['anti_entropy']['data_dir']- Path where Riak Search's Active Anti-Entropy data files will reside.
- 
node['riak']['config']['search']['root_dir']- Path for Riak Search index data.
Package
- 
node['riak']['package']['enterprise_key']- Riak Enterprise key.
- 
node['riak']['package']['name']- Name of the Riak package to install.
- 
node['riak']['package']['url']- Base path for downloading Riak packages.
- 
node['riak']['package']['version']['major']- Major version number.
- 
node['riak']['package']['version']['minor']- Minor version number.
- 
node['riak']['package']['version']['incremental']- Incremental version number.
- 
node['riak']['package']['version']['build']- Build version number.
- 
node['riak']['package']['local']['filename']- File name for local Riak
- 
node['riak']['package']['local']['checksum']- Checksum for local Riak package.
Source
- 
node['riak']['source']['url']- Base path for downloading Riak source tarballs.
- 
node['riak']['source']['version']['major']- Major version number.
- 
node['riak']['source']['version']['minor']- Minor version number.
- 
node['riak']['source']['version']['incremental']- Incremental version number.
- 
node['riak']['source']['prefix']- Installation prefix for source install.
- 
node['riak']['source']['checksum']- Checksum for source tarball.
ulimit
- 
node['riak']['limits']['nofile']- File descriptor limit for user running the Riak service
sysctl
- node['riak']['sysctl']['vm']['swappiness']
- node['riak']['sysctl']['net']['core']['somaxconn']
- node['riak']['sysctl']['net']['ipv4']['tcp_max_syn_backlog']
- node['riak']['sysctl']['net']['ipv4']['tcp_sack']
- node['riak']['sysctl']['net']['ipv4']['tcp_window_scaling']
- node['riak']['sysctl']['net']['ipv4']['tcp_fin_timeout']
- node['riak']['sysctl']['net']['ipv4']['tcp_keepalive_intvl']
- node['riak']['sysctl']['net']['ipv4']['tcp_tw_reuse']
- node['riak']['sysctl']['net']['ipv4']['tcp_moderate_rcvbuf']
Usage
Attributes
You may notice that some attribute names contain .top_level. This is to aid
rendering special configuration settings that have other settings nested
beneath them.
A quick example:
search is a setting, but it also has search.solr.start_timeout and
search.solr.port beneath it:
default['riak']['config']['search.top_level'] = 'off' default['riak']['config']['search']['solr']['start_timeout'] = '30s' default['riak']['config']['search']['solr']['port'] = 8093
These attributes render as:
search = off
search.solr.start_timeout = 30s
search.solr.port = 8093
Installation Methods
There are several installation methods for Riak supported by this cookbook.
All require that the node's run_list contain the default riak recipe.
For more precise examples, please see the .kitchen.yml file.
Package
This is the default method of installation. Ensure that
node['riak']['install_method'] is set to package.
Enterprise Package
For Riak Enterprise users, installing the Enterprise package requires setting
two attributes:
default['riak']['package']['enterprise_key'] = '*******' default['riak']['install_method'] = 'enterprise_package'
Custom Package
If you want to install a custom package of Riak (that isn't available in your
operating system's package repository), ensure that the following attributes
are set appropriately:
default['riak']['install_method'] = 'package' default['riak']['package']['local']['filename'] = 'riak_2.0.1-1_amd64.deb' default['riak']['package']['local']['checksum'] = '57e1118066dc1f25c5063c841fefd13bbc9658f3acf7adf68d60fa3001a6b5a5' default['riak']['package']['local']['url'] = 'http://s3.amazonaws.com/downloads.basho.com/riak/2.0/2.0.1/ubuntu/precise'
Custom Repository
If you have a package repository setup on your operating system (that isn't
Basho's) and want to install Riak from there, ensure that
node['riak']['install_method'] is set to custom_repository.
Source
If you want to install Riak (and Erlang) from source, ensure that
node['riak']['install_method'] is set to source.
License and Author
- Author: Benjamin Black (b@b3k.us)
- Author: Sean Carey (sean@densone.com)
- Author: Hector Castro (hector@basho.com)
- Author: Sean Cribbs (sean@basho.com)
- Author: Seth Thomas (sthomas@basho.com
Copyright (c) 2014 Basho Technologies, Inc.
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.
Dependent cookbooks
| apt ~> 2.3 | 
| build-essential ~> 1.4.2 | 
| erlang ~> 1.5.2 | 
| git ~> 3.0 | 
| java ~> 1.28.0 | 
| sysctl ~> 0.3.5 | 
| ulimit ~> 0.3.2 | 
| yum ~> 3.4 | 
| yum-epel ~> 0.5.1 | 
| packagecloud >= 0.0.0 | 
Contingent cookbooks
v3.0.1
- Fixes enterprise package installs
- Passing all RuboCop checks
- Lots of small testing related fixes
- Pinning JDK version
v3.0.0
- Riak 2.0.1is now the default
- Add CentOS 7 Support
- Migrate to packagecloud.io repos
v2.4.17
- Fix and update tests
- Add digitalocean to .kitchen.cloud.yml
- Add source build suite to .kitchen.cloud.yml
v2.4.16
- If fqdn isn't valid, use ipaddress for vm.args -name
- Drop 13.10 support (EOL)
- Drop minitest for serverspec
- Update yum dependency which fixes https://github.com/opscode-cookbooks/yum/issues/99
v2.4.15:
- Update Riak CS default version to 1.5.1
v2.4.14:
- Riak 1.4.10is now the default.
- Remove Ubuntu 13.04 support (EOL).
- Add Ubuntu 13.10 support
- Add Ubuntu 14.04 support
v2.4.13:
- Increase pessimistic version constraint on build-essential.
- Restrict version constraint on sysctldue to breaking changes.
v2.4.12:
- Increase default ulimitfrom4096to65536.
v2.4.11:
- Ensure SNMP directory is created when customer data_diris provided.
v2.4.10:
- Fix invalid default Multi backend definitions.
v2.4.9:
- Revert errant change of Riak node name from FQDN to IP address.
v2.4.8:
- Make default for cs_versionbe1.4.5
- Add support for Ubuntu 13.04 (Raring).
- Add support for Amazon Linux (2014.03).
v2.4.7:
- Ensure /etc/default/riak is regenerated when open file limits change.
- Ensure Riak data directory exists and is owned by the Riak user.
- Make all cookbook dependency versions explicit.
v2.4.6:
- Updated yum dependency constraint.
v2.4.5:
- Riak 1.4.8is now the default.
v2.4.4:
- Riak 1.4.7is now the default.
v2.4.3:
- Add a constraint to yumcookbook dependency so that breaking changes in v3.0 are mitigated.
- Updated Gemfile to include integration test dependencies.
v2.4.2:
- Riak 1.4.6is now the default.
- Make use of vagrantfile_erbsetting of kitchen-vagrant.
- Added kernel and network tuning via sysctl.
v2.4.1:
- Removed Recipe Tester.
- Bumped Chef to version 11.8.0for Test Kitchen.
- Make default for cs_versionbe1.4.3
v2.4.0:
- Added a recipe for installing Riak through a custom package repository.
v2.3.4:
- Made Test Kitchen run faster by enabling the vagrant-cachierplugin through thekitchen-vagrantdriver.
- Make default for cs_versionbe1.4.1
v2.3.3:
- Riak 1.4.2is now the default.
- Fixed the remote_fileresource for Enterprise packages so that it utilizes a checksum.
v2.3.2:
- Add a default cluster_mgrattribute.
- Add allow_multoverride when theriak_cs_kv_multi_backendis chosen.
v2.3.1:
- Riak 1.4.1is now the default.
- Fixed Debian support.
- Added Debian Wheezy to Test Kitchen.
v2.3.0:
- Fixed package installation so that it respects version numbers.
- Added Test Kitchen support for CentOS 5.9.
- Fixed Protocol Buffers interface configuration changes between Riak 1.3 and 1.4.
v2.2.0:
- Riak 1.4.0is the default.
- Debian init scripts now use start-stop-daemonforstart. This caused an issue with the way we were handling file descriptor limits for Debian. Now the init script sources/etc/default/riak, which contains the appropriateulimitcall.
- Added new options and defaults to vm.argsandapp.configattributes.
- Test Kitchen requires version 2.2.4or greater of theyumcookbook because earlier versions contained a bad test stub.
Foodcritic Metric
        
            3.0.1 passed this metric
        
  
3.0.1 passed this metric