aerospike
Ansible Role: Aerospike
Ansible role to install and configure Aerospike on CentOS (6/7) and Debian (Jessie\Wheezy) Linux.
Requirements
- Ansible 2.3+
- CentOS 6+
- Debian Wheezy\Jessie
Role Variables
Available variables are listed below, along with default values (see defaults/main.yml):
aerospike_boot_enabled: true
Controls enabling Aerospike to start on boot.
aerospike_version: 4.0.0.1
Controls the version of Aerospike server. See Aerospike releases for complete list.
aerospike_source_directory: /usr/local/src
Controls the expected name of the unarchived Aerospike directory.
aerospike_log_location: /var/log/aerospike
Controls the expected location of Aerospike logs. (currently only supports single log aerospike.log at location will all contexts)Aerospike Logging Guide Docs
aerospike_cluster_size: 1
Controls the expected number of nodes in the Aerospike server cluster.
Optional variables
The following variables can be set to overwrite the default values (default values listed below).
aerospike_proto_fd_max: 15000
Maximum number of open file descriptors opened on behalf of client connections. proto-fd-max Docs
aerospike_proto_fd_idle_ms: 60000
Time in milliseconds to wait before reaping connections. proto-fd-idle-ms Docs
aerospike_access_address: "{{ ansible_default_ipv4.address }}"
An access address is an IP address that is announced to clients and used by clients for connecting to the cluster. access-address Docs
Using a managed configuration file
All defaults below apply to a managed configuration file.
aerospike_namespaces:
- name: default
Controls namespace configuration of the Aerospike server. See Aerospike namespace configuration for details.
You can list multiple namespaces with file, memory, or device storage engines.
SINCE AEROSPIKE 4.0.0.1 ONLY 2 NAMESPACES IN EACH CLUSTER
aerospike_namespaces:
- name: device_objects
memory_size: 8
storage_engine:
devices:
- /dev/sdb
- /dev/dsc
scheduler_mode: noop
write_block_size: 128K
- name: file_objects
storage_engine:
files:
- /opt/aerospike/data/1
- /opt/aerospike/data/2
data_in_memory: true
- name: memory_objects
Above is an example of configuring 3 namespaces using attached devices, files, and memory. Aerospike Storage Engines Docs
SINCE AEROSPIKE 4.0.0.1 ONLY 2 NAMESPACES IN EACH CLUSTER
aerospike_service_threads: 4
Controls the number of threads receiving client requests on the network interface. service-threads Docs
aerospike_transaction_queues: 4
Controls the number of transaction queues managing client requests. Service threads will dispatch transactions into those queues. transaction-queues Docs
aerospike_transaction_threads: 4
Controls the number of threads per transaction queue. Those threads will consume the requests from the the transaction queues. transaction-threads Docs
aerospike_mesh_seed_addresses:
- 127.0.0.1
Controls the list of mesh addresses of all nodes in the heartbeat cluster. Applies only when the node is mesh mesh-seed-address-port Docs
aerospike_multicast_group: 239.1.99.2
aerospike_multicast_port: 9918
aerospike_multicast_address: 10.100.10.101
You may also use the multicast heartbeat cluster. If multicast group is defined it will take presidency over aerospike_mesh_seed_addresses
multicast-group Docs
multicast heartbeat Docs
Role Dependencies
None.
Example Playbook
---
- hosts: all
roles:
- mplachter.aerospike
Testing
This role is tested through Molecule
License
MIT
Author Information
Matt Plachter
Ansible role to install and configure Aerospike on CentOS (6/7) and Debian (Jessie/Wheezy) Linux.
ansible-galaxy install mplachter/ansible-role-aerospike