Install Couchbase Server on CentOS/Rocky Linux

|
Last Updated:
|
|

In this tutorial, you will learn how to install Couchbase Server on CentOS/Rocky Linux. According to the documentation, Couchbase Server is an open source, distributed, JSON document database. It exposes a scale-out, key-value store with managed cache for sub-millisecond data operations, purpose-built indexers for efficient queries, and a powerful query engine for executing SQL-like queries.

Install Couchbase Server on CentOS/Rocky Linux

Couchbase is available in different editions; Enterprise, Community and Couchbase Capella.

This guide is about how to install the community edition Couchbase server.

System Requirements

Before you can proceed to install Couchbase Server, there are some few requirements needed;


cat > /etc/systemd/system/disable_thp.service << 'EOL'
[Unit]
Description=Disable Kernel Support for Transparent Huge Pages (THP)

[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"

[Install]
WantedBy=multi-user.target
EOL
systemctl daemon-reload
systemctl enable --now disable_thp
  • Disable Swapiness
echo 'vm.swappiness=0' > /etc/sysctl.conf
sysctl -p

Next, proceed to install Couchbase Server.

There are different ways in which you can install Couchbase server;

  1. Install using YUM via Couchbase repositories
  2. Install using RPM Binary Package

Install Couchbase Server using YUM via Couchbase repositories

  • To install Install Couchbase Server via YUM, you first need to install Couchbase repositories;
yum install https://packages.couchbase.com/releases/couchbase-release/couchbase-release-1.0-x86_64.rpm
  • Install Couchbase server on Rocky Linux
yum install couchbase-server-community

Sample installation output;


Running transaction
  Preparing        :                                                                                                                                                    1/1 
  Installing       : ncurses-compat-libs-6.1-9.20180224.el8.x86_64                                                                                                      1/3 
  Installing       : bzip2-1.0.6-26.el8.x86_64                                                                                                                          2/3 
  Running scriptlet: couchbase-server-community-7.0.2-6703.x86_64                                                                                                       3/3 
Minimum RAM required  : 4 GB
System RAM configured : 1.77 GB

Minimum number of processors required : 4 cores
Number of processors on the system    : 2 cores


  Installing       : couchbase-server-community-7.0.2-6703.x86_64                                                                                                       3/3 
  Running scriptlet: couchbase-server-community-7.0.2-6703.x86_64                                                                                                       3/3 
Created symlink /etc/systemd/system/multi-user.target.wants/couchbase-server.service → /usr/lib/systemd/system/couchbase-server.service.

You have successfully installed Couchbase Server.
Please browse to http://rocky8:8091/ to configure your server.
Refer to https://docs.couchbase.com for additional resources.

Please note that you have to update your firewall configuration to
allow external connections to a number of network ports for full
operation. Refer to the documentation for the current list:
https://docs.couchbase.com/server/7.0/install/install-ports.html

By using this software you agree to the End User License Agreement.
See /opt/couchbase/LICENSE.txt.


  Verifying        : bzip2-1.0.6-26.el8.x86_64                                                                                                                          1/3 
  Verifying        : ncurses-compat-libs-6.1-9.20180224.el8.x86_64                                                                                                      2/3 
  Verifying        : couchbase-server-community-7.0.2-6703.x86_64                                                                                                       3/3 

Installed:
  bzip2-1.0.6-26.el8.x86_64                   couchbase-server-community-7.0.2-6703.x86_64                   ncurses-compat-libs-6.1-9.20180224.el8.x86_64                  

Complete!

Install using RPM Binary Package

To install Couchbase Server via RPM binary package, navigate to the Couchbase downloads page and select the appropriate package of Couchbase Server to install and grab the link for the RPM binary package.

Note, for Rocky Linux, we will use an RPM binary for CentOS 8. For example, the command below downloads version 7.0.2 of Couchbase server for CentOS 8 and installs it on Rocky Linux 8;

yum localinstall https://packages.couchbase.com/releases/7.0.2/couchbase-server-community-7.0.2-centos8.x86_64.rpm

You can run the same command above on CentOS 8;

On CentOS 7;

yum localinstall https://packages.couchbase.com/releases/7.0.2/couchbase-server-community-7.0.2-centos7.x86_64.rpm

Check the downloads page for other RHEL distros.

Running Couchbase Server Service

When installed, Couchbase server service is started and enabled to run on system boot;

Check the status;

systemctl status couchbase-server

Sample output;


● couchbase-server.service - Couchbase Server
   Loaded: loaded (/usr/lib/systemd/system/couchbase-server.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/couchbase-server.service.d
           └─override.conf
   Active: active (running) since Mon 2022-03-28 17:36:39 EAT; 1min 14s ago
     Docs: https://docs.couchbase.com
  Process: 64569 ExecStop=/opt/couchbase/bin/couchbase-server -k (code=exited, status=0/SUCCESS)
 Main PID: 64606 (beam.smp)
    Tasks: 168 (limit: 11388)
   Memory: 175.6M
   CGroup: /system.slice/couchbase-server.service
           ├─64606 /opt/couchbase/lib/erlang/erts-10.7.2.7/bin/beam.smp -A 16 -sbwt none -- -root /opt/couchbase/lib/erlang -progname erl -- -home /opt/couchbase -- -smp e>
           ├─64621 /opt/couchbase/lib/erlang/erts-10.7.2.7/bin/epmd -daemon
           ├─64670 erl_child_setup 200000
           ├─64689 /opt/couchbase/lib/erlang/erts-10.7.2.7/bin/beam.smp -A 16 -sbt u -P 327680 -K true -swt low -sbwt none -MMmcs 30 -e102400 -- -root /opt/couchbase/lib/e>
           ├─64711 erl_child_setup 200000
           ├─64732 sh -s disksup
           ├─64734 /opt/couchbase/lib/erlang/lib/os_mon-2.5.1.1/priv/bin/memsup
           ├─64735 /opt/couchbase/lib/erlang/lib/os_mon-2.5.1.1/priv/bin/cpu_sup
           ├─64736 /opt/couchbase/lib/erlang/erts-10.7.2.7/bin/beam.smp -P 327680 -K true -- -root /opt/couchbase/lib/erlang -progname erl -- -home /opt/couchbase -- -pa />
           ├─64743 erl_child_setup 200000
           ├─64762 sh -s disksup
           ├─64764 /opt/couchbase/lib/erlang/lib/os_mon-2.5.1.1/priv/bin/memsup
           ├─64765 /opt/couchbase/lib/erlang/lib/os_mon-2.5.1.1/priv/bin/cpu_sup
           ├─64768 inet_gethost 4
           ├─64769 inet_gethost 4
           ├─64770 /opt/couchbase/bin/priv/godu
           ├─64774 sh -s ns_disksup
           ├─64775 /opt/couchbase/bin/priv/godu
           ├─64780 /opt/couchbase/bin/goport -graceful-shutdown=false -window-size=524288
           ├─64784 /opt/couchbase/bin/prometheus --config.file /opt/couchbase/var/lib/couchbase/config/prometheus.yml --web.enable-admin-api --web.enable-lifecycle --stora>
           ├─64792 inet_gethost 4
           ├─64795 inet_gethost 4
           ├─64796 /opt/couchbase/bin/saslauthd-port
           ├─64801 /opt/couchbase/bin/goport -graceful-shutdown=false -window-size=524288
           ├─64805 /opt/couchbase/bin/goxdcr -sourceKVAdminPort=8091 -xdcrRestPort=9998 -isEnterprise=false -ipv4=required -ipv6=optional
           ├─64814 portsigar for [email protected] 64606
           └─64815 /opt/couchbase/bin/memcached -C /opt/couchbase/var/lib/couchbase/config/memcached.json

Mar 28 17:36:39 rocky8 systemd[1]: Started Couchbase Server.

Open Couchbase Ports on Firewall

Couchbase server uses various TCP ports for network communication. If you are running a system level or edge firewall, be sure to open these ports where necessary.

for i in 369 8091-8094 9100-9105 9998 9999 11209-11211 11214 11215 18091-18093 21100-21299; do firewall-cmd --add-port=$i/tcp --permanent; done
firewall-cmd --reload

You can as well use iptables if you want.

Access the Couchbase Web Console

You can now access your Couchbase web console via the url http://server-IP-or-domain-name:8091.

Upon accessing the url, you will be promted to either join an existing Couchbase cluster or create a new cluster.

install Couchbase Server on CentOS/Rocky Linux

In my setup, I don’t have an existing cluster. Hence, I will create a new one. Hence, enter the name of the cluster, admin username and password.

install Couchbase Server on CentOS/Rocky Linux

Next, accept the EULA and choose whether to setup disk, ram and services or finish with defaults. We choose finish with defaults in this setup.

Dashboard with sample buckets loaded;

Install Couchbase Server on CentOS/Rocky Linux

Sample Couchbase server dashboard;

Install Couchbase Server on CentOS/Rocky Linux

And there you go. You have learnt how to install Couchbase Server on Linux.

Further Reading

Next Couchbase Cluster Setup Steps

Other Tutorials

Install Couchbase Server on Debian 11/Debian 10

Install Couchbase Server on Ubuntu 22.04/Ubuntu 20.04

SUPPORT US VIA A VIRTUAL CUP OF COFFEE

We're passionate about sharing our knowledge and experiences with you through our blog. If you appreciate our efforts, consider buying us a virtual coffee. Your support keeps us motivated and enables us to continually improve, ensuring that we can provide you with the best content possible. Thank you for being a coffee-fueled champion of our work!

Photo of author
gen_too
Co-founder of Kifarunix.com, Linux Tips and Tutorials. Linux/Unix admin and author at Kifarunix.com.

Leave a Comment