Couchbase Server Processes

Couchbase Server spawns a number of different processes on each node. These processes vary in type and number depending on which Couchbase services are running on a particular node.

Couchbase Server spawns processes from a set of binaries that get installed by the Couchbase installer. Some of these processes support the basic functions of Couchbase Server, and run on every node in the Couchbase cluster (Core). Other processes, however, support the various Couchbase services, and only run on the nodes that happen to run a particular Couchbase service (Data, Query, Index, Search, Analytics, and Eventing).

The tables on this page list out all of the Couchbase processes, along with the specific Couchbase services that will invoke them. If a particular Couchbase service is not running on a node, then the processes associated with that service will not run.

It’s important that each of these processes is allowed to run and access files on the nodes that are enabled for the Couchbase services that they support. Otherwise, Couchbase Server will not function properly. Depending on your security environment, you may need to explicitly approve these processes and their binary directories in your security policy.

Linux

The following table lists the Couchbase processes that run on Linux platforms.

Table 1. Couchbase Processes on Linux
Process Description Service Path

cbft

Couchbase Full-Text Search (FTS) service

Search

/opt/couchbase/bin/

cbq-engine

Couchbase Query service

Query

/opt/couchbase/bin/

goport (5 copies)

Process that acts as a bridge between ns_server (Erlang) and the other server components (cbq- engine, cbft, etc.) which are written in Go

Query

/opt/couchbase/bin/

gosecrets

Service that is used to encrypt the cluster configuration stored on disk

Core

/opt/couchbase/bin/

goxdcr

Cross Data Center Replication (XDCR) - replicates data from one cluster to another

Core

/opt/couchbase/bin/

indexer

Index service

Index

/opt/couchbase/bin/

memcached

Data service responsible for storing user data

Core

/opt/couchbase/bin/

godu (2 copies)

Utility in Go to get disk usage stats

Core

/opt/couchbase/bin/priv/

projector

Extracts secondary key from documents

Core

/opt/couchbase/bin/

saslauthd-port

Erlang port process (wrapper) used to talk to the saslauthd daemon for authentication purposes

Core

/opt/couchbase/bin/

beam.smp (3 copies)

Couchbase cluster manager run as Erlang virtual machines - babysitter, ns_server, and ns_couchdb

Core

/opt/couchbase/lib/erlang/erts-5.10.4.0.0.1/bin/

epmd

Erlang-specific process which acts as a name server for Erlang distribution

Core

/opt/couchbase/bin/

cpu_sup (2 copies)

Erlang-specific process used to collect CPU: 1 for ns_server VM and 1 for ns_couchdb VM

Core

/opt/couchbase/lib/erlang/lib/os_mon-2.2.14/priv/bin/

memsup (2 copies)

Erlang-specific process used to collect memory usage: 1 for ns_server VM and 1 for ns_couchdb VM

Core

/opt/couchbase/lib/erlang/lib/os_mon-2.2.14/priv/bin/

inet_gethost (2 copies)

Built-in Erlang port process that is used to perform name service lookup

Core

/opt/couchbase/lib/erlang/erts-5.10.4.0.0.1/bin/

portsigar

Open source tool sigar that is used to collect system information

Core

/opt/couchbase/bin/

sh -s disksup (2 copies)

Erlang-specific process that is used to supervise the available disk space: 1 for ns_server VM and 1 for ns_couchdb VM

Core

/opt/couchbase/lib/erlang/lib/os_mon-2.2.14/ebin/

sh -s ns_disksup

Wrapper for disksup which also collects information about mounted drives

Core

/opt/couchbase/lib/ns_server/erlang/lib/ns_server/ebin/

cbcollect_info

Utility used to collect Couchbase server logs (will be seen only during log collection)

Core

/opt/couchbase/bin/

eventing-producer (1 copy)

Eventing supervisor service (one instance per node)

Eventing

/opt/couchbase/bin/

eventing-consumer (n copies)

Eventing worker (multiple instances per node). Instance count is configured in UI.

Eventing

/opt/couchbase/bin/

java (Analytics Driver)

JVM running the Analytics NC and CC

Analytics

/opt/couchbase/lib/cbas/runtime/bin

cbas

Go-wrapper that communicates with ns_server and manages the lifecycle of the Analytics Driver

Analytics

/opt/couchbase/bin/