Configuration Options
To configure Aerospike Graph Service (AGS), you can specify options with a properties file and/or with environment variables passed to the Docker image. If you use both, the options are combined when the Docker container starts.
Configuration file setup
To specify configuration options in a properties file, use a file named
aerospike-graph.properties
. When starting the AGS Docker
image, bind your local properties file with the -v
option.
For example, if your local properties file is located at
/Users/graph-user/conf/aerospike-graph.properties
, start the Docker image
with the command:
docker run -p8182:8182 -v \
/Users/graph-user/conf/aerospike-graph.properties:/opt/aerospike-graph/aerospike-graph.properties \
aerospike/aerospike-graph-service
Specify configuration options with the format <OPTION>=<VALUE>
. The following is
an example of a aerospike-graph.properties
file:
aerospike.client.host=172.17.0.2
aerospike.client.port=3000
aerospike.client.namespace=test
aerospike.graph-service.heap.max=16g
Configuration options
Configuration options are organized into the following groups:
Options in the
aerospike.client.*
group specify details of AGS's Aerospike client configuration and network setup.Options in the
aerospike.graph-service.*
group specify details of your AGS's server setup.Options in the
aerospike.graph.*
group specify details of your graph database setup.Options in the
aerospike.graphloader.*
group configure the Aerospike Bulk Loader.
The following configuration options are available:
aerospike.client.*
options
Option: aerospike.client.auth.mode
Default: INTERNAL
Allowable values: EXTERNAL
, EXTERNAL_INSECURE
, INTERNAL
, PKI
EXTERNAL
: Use external authentication (like LDAP) when username/password are defined.
EXTERNAL_INSECURE
: Use external authentication (like LDAP) when username/password are defined.
INTERNAL
: Use internal authentication when username/password are defined.
PKI
: Authentication and authorization based on a certificate.
Option: aerospike.client.cluster.name
Default: none
Allowable values: String values.
Name of a running Aerospike Database server cluster. If set, this value
validates that the server cluster which AGS connect to matches the configuration.
Option: aerospike.client.host
Default: localhost:3000
Allowable values: Any string that follows <host>:<port>
format.
Accessible address of one or more Aerospike seed nodes, specified as
<host>:<port>
in a comma-separated list.
Option: aerospike.client.namespace
Default: test
Allowable values: String values. Must match an existing Aerospike namespace.
Namespace to use for storage of graph data.
This namespace must already exist on the Aerospike database cluster before starting AGS.
Option: aerospike.client.password
Default: none
Allowable values: String values. Must match Aerospike password for specified user.
Password to use when connecting to the Aerospike cluster if login security
is enabled.
Option: aerospike.client.services.alternate
Default: false
Allowable values: true
, false
AGS uses services-alternate
instead of services
in its info request during cluster
tending. services-alternate
returns server-configured external IP addresses that
AGS clients use to talk to nodes. services-alternate
can be used in place of
providing a client ipMap
.
Option: aerospike.client.socket.timeout
Default: 1200000
(20 minutes)
Allowable values: Integer values.
The timeout, in milliseconds, for each individual page of
reocords to be read. The time allowed includes both scanning and
secondary index pagination queries.
Option: aerospike.client.timeout
Default: 2000
Allowable values: 1 - 100000
Timeout for all client operations except pagination reads (in milliseconds).
Option: aerospike.client.tls
Default: false
Allowable values: true
, false
Enable TLS.
Option: aerospike.client.user
Default: none
Allowable values: String values. Must match a user configured for the Aerospike
database intance.
Username to use when connecting to the Aerospike cluster if login security
is enabled.
aerospike.graph-service.*
options
Option: aerospike.graph-service.evaluationTimeout
Default: 30000
Allowable values: Integer values.
Time in milliseconds to wait for a request (script or bytecode) to complete execution.
Option: aerospike.graph-service.gremlinPool
Default: 0
, indicating that the value is set to the number of available processors.
Allowable values: Integer values.
Size of the Gremlin thread pool. This pool handles Gremlin script execution and other
related long-running processing jobs.
Option: aerospike.graph-service.heap.max
Default: 80% of available system memory
Allowable values: Integer followed by unit (g
for gigabytes or m
for megabytes)
Maximum amount of memory to allocate to the graph service. Examples: 8192m
, 4g
Option: aerospike.graph-service.heap.min
Default: none
Allowable values: Integer followed by unit (g
for gigabytes or m
for megabytes)
Minimum amount of memory to allocate to the graph service.
Option: aerospike.graph-service.idleConnectionTimeout
Default: 0
, indicating that feature is disabled.
Allowable values: Integer values.
Time in milliseconds that the server allows a channel to receive no
requests from a client before it automatically closes. If enabled,
the value provided should exceed the amount of time given
to the configuration option aerospike.graph-service.keepAliveInterval
.
This value is given in milliseconds, but it resolves to second precision.
Option: aerospike.graph-service.keepAliveInterval
Default: 0
, indicating that feature is disabled.
Allowable values: Integer values.
Time in milliseconds that the server allows a channel to send no
responses to a client before it sends a "ping" to see if the channel is
still present. If it is present, the client should respond with a "pong"
which resets the aerospike.graph-service.idleConnectionTimeout
and keeps
the channel open. If enabled, the value assigned to this option should be
smaller than the value provided to the option aerospike.graph-service.idleConnectionTimeout
.
This value is given in milliseconds, but it resolves to second precision.
Option: aerospike.graph-service.port
Default: 8182
Allowable values: Integer values in the allowable port range.
Port to bind the AGS server to. Drivers connecting to AGS will need to use this port.
Option: aerospike.graph-service.threadPoolWorker
Default: 1
Allowable values: Integer values.
This value should not exceed 2 * number of cores. A worker thread performs
non-blocking read and write operations for one or more channels in a non-blocking mode.
aerospike.graph.*
options
Option: aerospike.graph.client.connectTimeout
Default: 0
Allowable values: integer
Time interval to allow a client connection to try to connect before timing out.
Set to 0 for no timeout limit. Pass through option for the Aerospike Java Client.
See API documentation.
Option: aerospike.graph.client.maxConnectionsPerNode
Default: 300
Allowable values: integer
Maximum number of connections per AGS node. Pass through option for the Aerospike Java Client.
See API documentation.
Option: aerospike.graph.client.maxErrorRate
Default: 0
Allowable values: integer
Number of errors per second (such as TCP resets or timeouts and other
network errors) before the client stops trying to connect for the remainder of that 1 second.
If maxErrorRate
is 0, there is no error limit and the exception will never be thrown.
Pass through option for the Aerospike Java Client.
See API documentation.
Option: aerospike.graph.client.timeoutDelay
Default: 0
Allowable values: integer
Time interval to wait after a client times out before returning the connection to the connection pool.
Set to 0 for no timeout delay limit. Pass through option for the Aerospike Java Client.
See API documentation.
Option: aerospike.graph.http.port
Default: 9090
Allowable values: 0 to 65353
Port on which to open the HTTP server for requests. The HTTP server includes prometheus and the healthcheck.
Option: aerospike.graph.index.vertex.label.enabled
Default: false
Allowable values: true
, false
Enable indexing of vertex labels.
Option: aerospike.graph.index.vertex.properties
Default: none
Allowable values: Any string.
Comma-delimited list of vertex properties to create an index on.
Option: aerospike.graph.log.level
Default: INFO
Allowable values: OFF
, ERROR
, WARN
, INFO
, DEBUG
, TRACE
, ALL
Log level for the AGS instance. Allowable values are in
ascending order of verbosity.
Option: aerospike.graph.client.minConnectionsPerNode
Default: 0
Allowable values: integer
Minimum number of connections per AGS node. Pass through option for the Aerospike Java Client.
See API documentation.
Option: aerospike.graph.healthcheck.path
Default: /healthcheck
Allowable values: Any URI-compatible string.
URI path of the healthcheck server used by Kubernetes.
Option: aerospike.graph.pagination.page.queue.size
Default: 10
Allowable values: Integer values.
Maximum number of pages to queue up. If this number of pages is queued
up and not being consumed, no more pages will be read until one is consumed.
Option: aerospike.graph.pagination.page.size
Default: 2048
Allowable values: Integer values.
The maximum size of a single page, measured in records. A record can be
a vertex or a pack of edges. Pages are not always this size, but they may
not be larger than this.
Option: aerospike.graph.prometheus.path
Default: /metrics
Allowable values: Any URI-compatible string.
URI path of the Prometheus web interface.
Option: aerospike.graph.summary.enabled
Default: true
Allowable values: true
, false
Enable summary metadata for Aerospike Graph.
Option: aerospike.graph.summary.ticker.enabled
Default: true
Allowable values: true
, false
Enable Aerospike Graph summary metadata ticker.
Option: aerospike.graph.ttl.enabled
Default: false
Allowable values: true
, false
Enable TTL (time to live) for edges and vertices.
Option: aerospike.graph.ttl.purge.interval
Default: 300
Allowable values: integer
Interval in seconds at which AGS scans for edges and vertices with upcoming TTL to schedule for purging.
aerospike.graphloader.*
options
Option: aerospike.graphloader.allowed-bad-edges-count
Default: none (unlimited)
Allowable values: Positive integers.
Allowable number of bulk loader errors involving edges that refer to missing vertex IDs.
Set to 0 for no allowable errors.
Option: aerospike.graphloader.allowed-bad-entry-count
Default: none (unlimited)
Allowable values: Positive integers.
Allowable number of bulk loader errors involving vertices or
edges that have incorrectly typed data.
Set to 0 for no allowable errors.
Option: aerospike.graphloader.allowed-duplicate-vertex-id-count
Default: none (unlimited)
Allowable values: Positive integers.
Allowable number of bulk loader errors involving
vertices that have the same ID and label in the input dataset.
Set to 0 for no allowable errors.
Option: aerospike.graphloader.edges
Default: none
Allowable values: String values.
The path to the directory or cloud storage location where CSV files
containing edge data are stored.
Option: aerospike.graphloader.vertices
Default: none
Allowable values: String values.
The path to the directory or cloud storage location where CSV files
containing vertex data are stored.
Option: aerospike.graphloader.sampling-percentage
Default: 0
Allowable values: Integer values.
Specifies a percentage of the input data to be sampled to verify
that the bulk loading job was successful.
Option: aerospike.graphloader.remote-passkey
Default: none
Allowable values: String values.
For AWS: your AWS_SECRET_ACCESS_KEY_ID
value.
For GCS: your PRIVATE_KEY
value.
Option: aerospike.graphloader.remote-user
Default: none
Allowable values: String values.
For AWS: your AWS_ACCESS_KEY_ID
value.
For GCS: your PRIVATE_KEY_ID
value.
Option: aerospike.graphloader.gcs-email
Default: none
Allowable values: String values.
GCS only. Populate with your GCS CLIENT_EMAIL
value.