Skip to main content
YugabyteDB can be installed on various platforms including Linux, macOS, Docker, and Kubernetes. This guide covers all installation methods with detailed instructions for each platform.

Choose your platform

Select the platform that best fits your needs:

Linux

Install on CentOS, Ubuntu, RHEL, or other Linux distributions

macOS

Install on macOS with Intel or Apple Silicon (M1/M2)

Docker

Run in containers for development and testing

Kubernetes

Deploy on Kubernetes for production workloads

Prerequisites by platform

Operating system

YugabyteDB supports the following Linux distributions:
  • CentOS 7 or later
  • Red Hat Enterprise Linux (RHEL) 7 or later
  • Ubuntu 18.04, 20.04, 22.04
  • Amazon Linux 2
  • Oracle Linux 7 or later

System requirements

  • CPU: 2 cores minimum (4 cores recommended)
  • RAM: 4 GB minimum (8 GB recommended)
  • Disk: 10 GB free space minimum
  • Architecture: x86_64 or aarch64 (ARM)

Software dependencies

Install the required packages:
sudo yum install -y python3 wget

System configuration

Configure ulimits for optimal performance:
# Add to /etc/security/limits.conf
*                -       core            unlimited
*                -       data            unlimited
*                -       fsize           unlimited
*                -       sigpending      119934
*                -       memlock         64
*                -       rss             unlimited
*                -       nofile          1048576
*                -       msgqueue        819200
*                -       stack           8192
*                -       cpu             unlimited
*                -       nproc           12000
*                -       locks           unlimited
Proper ulimit configuration is critical. Without it, you may encounter file descriptor errors when creating many tablets.

Installation steps

1

Download YugabyteDB

Download the appropriate package for your architecture:For x86_64 systems:
wget https://downloads.yugabyte.com/releases/2025.2.0.0/yugabyte-2025.2.0.0-b2-linux-x86_64.tar.gz
For ARM64/aarch64 systems:
wget https://downloads.yugabyte.com/releases/2025.2.0.0/yugabyte-2025.2.0.0-b2-el8-aarch64.tar.gz
2

Verify the download

Verify the checksum to ensure file integrity:
# For x86_64
echo "$(curl -L https://downloads.yugabyte.com/releases/2025.2.0.0/yugabyte-2025.2.0.0-b2-linux-x86_64-tar.gz.sha) *yugabyte-2025.2.0.0-b2-linux-x86_64.tar.gz" | shasum --check

# For ARM64  
echo "$(curl -L https://downloads.yugabyte.com/releases/2025.2.0.0/yugabyte-2025.2.0.0-b2-el8-aarch64-tar.gz.sha) *yugabyte-2025.2.0.0-b2-el8-aarch64.tar.gz" | shasum --check
You should see: OK
3

Extract the archive

tar xvfz yugabyte-2025.2.0.0-b2-linux-x86_64.tar.gz
cd yugabyte-2025.2.0.0/
4

Run post-install script

Configure YugabyteDB by running:
./bin/post_install.sh
This script:
  • Sets up the directory structure
  • Configures necessary libraries
  • Prepares the environment
5

Verify installation

Check that YugabyteDB is installed correctly:
./bin/yugabyted version
Expected output:
YugabyteDB version: 2025.2.0.0-b2
Build type: release
6

Add to PATH (optional)

For easier access, add YugabyteDB to your PATH:
echo 'export PATH=$PATH:/path/to/yugabyte-2025.2.0.0/bin' >> ~/.bashrc
source ~/.bashrc
Replace /path/to/ with your actual installation path.

Next steps

Quick start

Start a cluster and run your first queries

Core features

Explore YugabyteDB’s distributed capabilities

Production deployment

Deploy multi-node clusters for production

Build an app

Connect from your favorite programming language

Common issues

Missing dependencies:
# Install required packages
sudo yum install -y python3 wget  # CentOS/RHEL
sudo apt-get install -y python3 wget  # Ubuntu
Permission denied:
chmod +x bin/*
Insufficient ulimits:
ulimit -n 1048576
ulimit -u 12000
Remove quarantine attribute:
xattr -r -d com.apple.quarantine /path/to/yugabyte-*
Or approve each binary in System Preferences → Security & Privacy.
Check resources:
  • Ensure Docker has at least 4 GB RAM
  • Verify CPU allocation (2+ cores)
Port conflicts:
# Find what's using the port
lsof -i :5433

# Stop conflicting services or use different ports
docker run -p 5434:5433 ...
Check logs:
docker logs yugabyte
Check storage:
kubectl get pvc -n yb-demo
Ensure your cluster has a default storage class or specify one:
--set storageClass=fast-ssd
Check resources:
kubectl describe pod yb-master-0 -n yb-demo
Nodes must have enough CPU and memory.

Upgrading YugabyteDB

To upgrade to a newer version:
# Stop the current cluster
./bin/yugabyted stop

# Download and extract new version
wget https://downloads.yugabyte.com/releases/<new-version>/...
tar xvfz yugabyte-<new-version>.tar.gz

# Run post-install
cd yugabyte-<new-version>/
./bin/post_install.sh

# Start with existing data
./bin/yugabyted start --advertise_address=127.0.0.1
Always back up your data before upgrading. For production clusters, follow the rolling upgrade procedure.

Build docs developers (and LLMs) love