Configure Aerospike Database
This page describes how to configure a Database cluster node using the configuration file, aerospike.conf.
The configuration file is divided into different contexts, some of which are optional. These contexts can be in any order in the configuration file. A context can be further divided into sub-contexts.
The maximum length of a line in the configuration file is 1,024 characters. The default location of the configuration file is /etc/aerospike/aerospike.conf.
Sample configuration file
The following sample file shows the structure of aerospike.conf with the most common contexts and sub-contexts. The contexts in this example are empty and do not have actual parameters, indicated by empty braces {}. Sub-contexts are indented.
service {} # Tuning parameters, process owner, feature # key file
network { # Used to configure intracluster and # application-node communications service {} # Tools/Application communications protocol fabric {} # Intracluster communications protocol info {} # Administrator telnet console protocol heartbeat {} # Cluster formation protocol}
security { # (Optional, Enterprise Edition only) to enable # access control on the cluster}
logging {} # Logging configuration
xdr { # (Optional, Enterprise Edition only) Configure # Cross-Datacenter Replication}
namespace { # Define namespace record policies and storage # engine storage-engine {} # Configure data storage for the namespace set {} # (Optional) Set specific record policies}
mod-lua { # location of UDF modules}Configuration file changes
The following examples show how aerospike.conf changed in Database 7.0.
Database 7.0 and later
# Aerospike database developer configuration file.
service { run-as-daemon false # To work with gdb, and make console logging visible.
# The number of concurrent connections to the database is limited by # proto-fd-max, and by the system's maximum number of open file descriptors. # See "man limits.conf" for how to set the system's "nofile" limit. proto-fd-max 1024
work-directory run/work pidfile run/asd.pid cluster-name cakery}
mod-lua { user-path run/work/usr/udf/lua}
logging { # Log file must be an absolute path. file run/log/aerospike.log { context any info }
console { context any info }}
network { service { address any port 3000 }
heartbeat { mode multicast multicast-group 239.1.99.222 port 9918
# To use unicast-mesh heartbeats, remove the 3 lines above, and see # aerospike_mesh.conf for alternative.
interval 150 timeout 10 }
fabric { port 3001 }
# info {# port 3003# }}
namespace test { replication-factor 2
storage-engine memory { data-size 4G }}Prior to Database 7.0
# Aerospike database configuration file.
service { user root group root pidfile /var/run/aerospike/asd.pid proto-fd-max 15000}
logging { # Log file must be an absolute path. file /var/log/aerospike/aerospike.log { context any info }}
network { service { address any port 3000 }
heartbeat { mode multicast multicast-group 239.1.99.222 port 9918
# To use unicast-mesh heartbeats, remove the 3 lines above, and see # aerospike_mesh.conf for alternative.
interval 150 timeout 10 }
fabric { port 3001 }
info { port 3003 }}
namespace test { replication-factor 2 memory-size 4G
storage-engine memory}Configuration steps
- (If necessary) Obtain a feature-key file.
- Configure network service and heartbeat sub-contexts.
- Configure namespaces.
- Configuring Log Files and Manually Rotating the Aerospike Log File.
- (Optional) Configure security.
- (Optional) Configure rack-awareness.
- (Optional) Configure cross-datacenter replication.