Skip to main content
Get your first YugabyteDB cluster up and running in under 5 minutes. This guide walks you through installation, cluster creation, and running your first SQL queries.

Prerequisites

Before you begin, ensure your system meets the following requirements:
Operating system
  • CentOS 7 or later
  • Ubuntu 18.04 or later
  • Red Hat Enterprise Linux (RHEL) 7 or later
Software
  • Python 3.6 or later
  • wget or curl
Hardware
  • 2 CPU cores (4 recommended)
  • 4 GB RAM minimum (8 GB recommended)
  • 10 GB disk space

Step 1: Download YugabyteDB

Download the latest stable release of YugabyteDB:
wget https://downloads.yugabyte.com/releases/2025.2.0.0/yugabyte-2025.2.0.0-b2-linux-x86_64.tar.gz

# Verify checksum
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

# Extract
tar xvfz yugabyte-2025.2.0.0-b2-linux-x86_64.tar.gz
cd yugabyte-2025.2.0.0/
For the latest version numbers and download links, visit the YugabyteDB releases page.

Step 2: Configure YugabyteDB

Run the post-installation script to configure YugabyteDB:
./bin/post_install.sh
This script:
  • Sets up the necessary directory structure
  • Configures system libraries
  • Prepares the environment for running YugabyteDB

Step 3: Start a local cluster

Create a single-node cluster for local development:
./bin/yugabyted start --advertise_address=127.0.0.1
You’ll see output like:
Starting yugabyted...
✓ System checks
✓ Creating cluster
✓ Starting master service
✓ Starting tserver service
✓ Waiting for services to be ready

YugabyteDB started successfully!

UI:   http://127.0.0.1:15433
YSQL: bin/ysqlsh -h 127.0.0.1
YCQL: bin/ycqlsh 127.0.0.1
On macOS Monterey or later, if port 7000 is in use by AirPlay, use -p 7001:7000 to forward to a different port.
The yugabyted utility is a single command to create and manage local clusters. It automatically starts both YB-Master (metadata manager) and YB-TServer (data server) processes.

Step 4: Verify the cluster

Check that your cluster is running:
./bin/yugabyted status
Expected output:
+----------------------------------------------------------------------------------------------------------+
|                                                yugabyted                                                 |
+----------------------------------------------------------------------------------------------------------+
| Status              : Running                                                                            |
| Replication Factor  : 1                                                                                  |
| YugabyteDB UI       : http://127.0.0.1:15433                                                            |
| JDBC                : jdbc:postgresql://127.0.0.1:5433/yugabyte?user=yugabyte&password=yugabyte        |
| YSQL                : bin/ysqlsh -h 127.0.0.1 -U yugabyte -d yugabyte                                   |
| YCQL                : bin/ycqlsh 127.0.0.1 9042 -u cassandra                                            |
| Data Dir            : /home/user/var/data                                                               |
| Log Dir             : /home/user/var/logs                                                               |
| Universe UUID       : 550e8400-e29b-41d4-a716-446655440000                                              |
+----------------------------------------------------------------------------------------------------------+

Step 5: Connect to the database

Connect using the YSQL shell (PostgreSQL-compatible interface):
./bin/ysqlsh -h 127.0.0.1
You should see the YSQL prompt:
ysqlsh (15.2-YB-2025.2.0.0-b0)
Type "help" for help.

yugabyte=#

Step 6: Run your first queries

Let’s create a simple table and insert some data:
1

Create a table

CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  name VARCHAR(100),
  email VARCHAR(100) UNIQUE,
  created_at TIMESTAMP DEFAULT NOW()
);
2

Insert data

INSERT INTO users (name, email) VALUES
  ('Alice Johnson', '[email protected]'),
  ('Bob Smith', '[email protected]'),
  ('Carol White', '[email protected]');
3

Query the data

SELECT * FROM users;
Expected output:
 id |     name      |       email        |         created_at
----+---------------+--------------------+----------------------------
  1 | Alice Johnson | [email protected]  | 2026-03-04 10:30:15.123456
  2 | Bob Smith     | [email protected]    | 2026-03-04 10:30:15.123456
  3 | Carol White   | [email protected]  | 2026-03-04 10:30:15.123456
(3 rows)
4

Try a transaction

BEGIN;
  UPDATE users SET name = 'Alice Smith' WHERE id = 1;
  UPDATE users SET email = '[email protected]' WHERE id = 1;
COMMIT;

SELECT * FROM users WHERE id = 1;
This demonstrates YugabyteDB’s ACID transaction support.

Step 7: Access the web UI

YugabyteDB includes a built-in web interface for monitoring and administration:
1

Open the UI

Navigate to http://127.0.0.1:15433 in your browser.
2

Explore the dashboard

The UI provides:
  • Cluster overview and health status
  • Performance metrics and charts
  • Node information and tablet distribution
  • Query statistics
  • Database tables and indexes
The web UI runs on port 15433 by default. No authentication is required for local development clusters.

What’s next?

Now that you have YugabyteDB running, explore more:

Build an application

Connect from Java, Python, Go, Node.js, or other languages

Core features

Learn about sharding, replication, and distributed transactions

Sample data

Load sample datasets to explore YugabyteDB features

Production deployment

Deploy a multi-node cluster for production use

Common commands

Here are some useful commands for managing your cluster:
./bin/yugabyted start --advertise_address=127.0.0.1

Troubleshooting

If you see “address already in use” errors:
  1. Check what’s using the port: lsof -i :5433
  2. Stop the conflicting service or use a different port
  3. On macOS Monterey, disable AirPlay or use port forwarding
If you can’t connect:
  1. Verify the cluster is running: yugabyted status
  2. Check firewall settings
  3. Ensure you’re using the correct IP address (127.0.0.1 for local)
  4. Review logs in ~/var/logs/ for errors
For slow queries:
  1. Ensure you have adequate RAM (4 GB minimum)
  2. Use SSDs for better I/O performance
  3. Check CPU usage isn’t maxed out
  4. Review query plans with EXPLAIN ANALYZE
If Docker fails:
  1. Ensure Docker has enough resources allocated
  2. Check Docker logs: docker logs yugabyte
  3. Try removing and recreating: docker rm yugabyte
  4. Verify port conflicts with docker ps
For more troubleshooting help, check the YugabyteDB documentation or ask in the community Slack.

Multi-node cluster (optional)

Want to test with multiple nodes? Here’s how to create a 3-node local cluster:
1

Start first node

./bin/yugabyted start --advertise_address=127.0.0.1 \
  --base_dir=/tmp/ybd1
2

Start second node

./bin/yugabyted start --advertise_address=127.0.0.2 \
  --base_dir=/tmp/ybd2 \
  --join=127.0.0.1
3

Start third node

./bin/yugabyted start --advertise_address=127.0.0.3 \
  --base_dir=/tmp/ybd3 \
  --join=127.0.0.1
4

Configure replication

./bin/yugabyted configure data_placement --fault_tolerance=zone \
  --base_dir=/tmp/ybd1
Multi-node local clusters require loopback alias configuration. See the deployment documentation for details.

Build docs developers (and LLMs) love