mplachter.aerospike

Ansible Role: Aerospike

Ansible Role Build Status

This Ansible role installs and sets up Aerospike on CentOS (versions 6 and 7) and Debian (Jessie and Wheezy) Linux.

Requirements

  • Ansible 2.3 or higher
  • CentOS version 6 or higher
  • Debian versions Wheezy or Jessie

Role Variables

Here are the available variables, along with their default values (see defaults/main.yml):

  • aerospike_boot_enabled: true
    This controls whether Aerospike starts automatically when the server boots.

  • aerospike_version: 4.0.0.1
    This specifies the version of the Aerospike server. For a full list, check Aerospike releases.

  • aerospike_source_directory: /usr/local/src
    This sets the expected name of the unzipped Aerospike directory.

  • aerospike_log_location: /var/log/aerospike
    This defines where the Aerospike logs are stored (currently only supports a single log file named aerospike.log). For more details, see Aerospike Logging Guide.

  • aerospike_cluster_size: 1
    This specifies the number of nodes expected in the Aerospike server cluster.

Optional Variables

You can set these variables to change their default values:

  • aerospike_proto_fd_max: 15000
    This is the maximum number of open file connections for clients. Refer to proto-fd-max Docs.

  • aerospike_proto_fd_idle_ms: 60000
    This is the time in milliseconds to wait before closing inactive connections. For more, see proto-fd-idle-ms Docs.

  • aerospike_access_address: "{{ ansible_default_ipv4.address }}"
    This is the IP address used by clients to connect to the cluster. More details can be found in access-address Docs.

Using a Managed Configuration File

All defaults below apply to a managed configuration file.

You can define multiple namespaces using file, memory, or device storage engines.

NOTE: AEROSPIKE 4.0.0.1 ONLY ALLOWS 2 NAMESPACES PER CLUSTER.

Example configuration for 3 namespaces:

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

For more on storage engines, check Aerospike Storage Engines Docs.

NOTE: AEROSPIKE 4.0.0.1 ONLY ALLOWS 2 NAMESPACES PER CLUSTER.

Other variable settings:

  • aerospike_service_threads: 4
    This controls the number of threads that receive client requests over the network. See service-threads Docs.

  • aerospike_transaction_queues: 4
    This sets the number of transaction queues for managing client requests. See transaction-queues Docs.

  • aerospike_transaction_threads: 4
    This sets the number of threads for each transaction queue that consume the requests. See transaction-threads Docs.

  • aerospike_mesh_seed_addresses:
    This controls the mesh addresses of all nodes in the heartbeat cluster. It only applies when the node is mesh. See mesh-seed-address-port Docs.

  • aerospike_multicast_group: 239.1.99.2

  • aerospike_multicast_port: 9918

  • aerospike_multicast_address: 10.100.10.101

You can also configure a multicast heartbeat cluster. If a multicast group is defined, it takes priority over aerospike_mesh_seed_addresses. See multicast-group Docs and multicast heartbeat Docs.

Role Dependencies

None.

Example Playbook

---
- hosts: all
  roles:
     - mplachter.aerospike

Testing

This role has been tested using Molecule.

License

MIT

Author Information

Matt Plachter

Informazioni sul progetto

Ansible role to install and configure Aerospike on CentOS (6/7) and Debian (Jessie/Wheezy) Linux.

Installa
ansible-galaxy install mplachter.aerospike
Licenza
mit
Download
275
Proprietario
Let's Do Stuff & Things.