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-9.3.3.9/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/

    Windows

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

    Table 2. Couchbase Processes on Windows
    Process Description Service Path

    backup.exe

    Backup application for Couchbase data

    Backup

    C:\Program Files\Couchbase\Server\bin

    cbas.exe

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

    Analytics

    C:\Program Files\Couchbase\Server\bin

    cbcollect_info.exe

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

    Core

    C:\Program Files\Couchbase\Server\bin

    cbft.exe

    Couchbase Full-Text Search (FTS) service

    Search

    C:\Program Files\Couchbase\Server\bin

    cbq-engine.exe

    Couchbase Query service

    Query

    C:\Program Files\Couchbase\Server\bin

    epmd.exe

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

    Core

    C:\Program Files\Couchbase\Server\erts-x.x.x.x\bin

    erl.exe

    Erlang process used by the name server.

    Core

    C:\Program Files\Couchbase\Server\erts-x.x.x.x\bin

    erlsrv.exe

    Used to start the Erlang emulator as a Windows process.

    Core

    C:\Program Files\Couchbase\Server\erts-x.x.x.x\bin

    eventing-consumer.exe

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

    Eventing

    C:\Program Files\Couchbase\Server\bin

    eventing-producer.exe

    Eventing supervisor service (one instance per node)

    Eventing

    C:\Program Files\Couchbase\Server\bin

    goport.exe

    Process that acts as a bridge between ns_server (Erlang) and the other server components (cbq- engine.exe, cbft.exe, etc.)

    Query

    C:\Program Files\Couchbase\Server\bin

    gosecrets.exe

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

    Core

    C:\Program Files\Couchbase\Server\bin

    goxdcr.exe

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

    Core

    C:\Program Files\Couchbase\Server\bin

    indexer.exe

    Index service

    Index

    C:\Program Files\Couchbase\Server\bin

    godu.exe

    Utility in Go to get disk usage stats

    Core

    C:\Program Files\Couchbase\Server\bin\priv

    inet_gethost.exe

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

    Core

    C:\Program Files\Couchbase\Server\erts-x.x.x.x\bin

    java.exe (Analytics Driver)

    JVM running the Analytics NC and CC

    Analytics

    C:\Program Files\Couchbase\Server\bin

    memcached.exe

    Data service responsible for storing user data

    Core

    C:\Program Files\Couchbase\Server\bin

    projector.exe

    Extracts secondary key from documents

    Core

    C:\Program Files\Couchbase\Server\bin

    prometheus.exe

    Engine used Couchbase for creating metrics.

    Core

    C:\Program Files\Couchbase\Server\bin

    saslauthd-port.exe

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

    Core

    C:\Program Files\Couchbase\Server\bin

    sigar_port.exe

    Open source tool sigar that is used to collect system information

    Core

    C:\Program Files\Couchbase\Server\bin