---
title: "Upgrading from Community to Enterprise"
description: "Guide for upgrading Aerospike Community Edition to Enterprise Edition with zero downtime."
---

# Upgrading from Community to Enterprise

> For the complete documentation index see: [llms.txt](https://aerospike.com/docs/llms.txt)
> 
> All documentation pages available in markdown.

Aerospike Enterprise Edition includes additional features and provides access to tested and certified builds, hot patches and 24x7 Enterprise Support. To see all other benefits of using the Enterprise Edition, see [Features and editions](https://aerospike.com/products/products-pricing/).

Use the following steps to upgrade a cluster of community-version nodes to the enterprise version. For the purposes of upgrading, you can add an enterprise node to a cluster of community nodes.

Perform the following steps on each node, one node at a time.

## Check migrations

Verify that the cluster is not migrating data before you stop one of the nodes. Run the following command to check migration status:

Terminal window

```bash
# Migrations are complete when all `migrate_progress_recv` and

# `migrate_progress_send` values return 0.

asadm -e "show stat like migrate_tx_partitions_active migrate_tx_partitions_remaining migrate_rx_partitions_active migrate_rx_partitions_remaining migrate_record_receives -flip "
```

## Stop the Aerospike service

1.  Run the following command to display the current status of the Aerospike Service:
    
    Terminal window
    
    ```bash
    sudo service aerospike status
    ```
    
2.  Run the following command to stop the Aerospike service on the node:
    
    Terminal window
    
    ```bash
    sudo service aerospike stop
    ```
    

## Back up the configuration File

Create a backup of the current configuration file:

Terminal window

```bash
sudo cp /etc/aerospike/aerospike.conf /etc/aerospike/aerospike.conf.bac
```

## Uninstall the Community Aerospike server package

-   [RedHat/CentOS](#tab-panel-3523)
-   [Debian/Ubuntu](#tab-panel-3524)

Terminal window

```bash
sudo rpm -e aerospike-community-server

# If you have tools package installed separately

sudo rpm -e aerospike-community-tools
```

Terminal window

```bash
sudo dpkg -r aerospike-community-server

sudo dpkg --purge aerospike-server-community

# If you have tools package installed separately

sudo dpkg -r aerospike-community-tools

sudo dpkg --purge aerospike-community-tools
```

## Install Aerospike Enterprise packages

For details about downloading and installing Aerospike Enterprise packages, see [Install Aerospike](https://aerospike.com/docs/database/8.0.0/install).

::: note
You must log in to download the Enterprise installer files. For questions about access, contact your Aerospike sales representative.
:::

## Restore the configuration backup

Restore the backed up configuration file to `/etc/aerospike/aerospike.conf`:

Terminal window

```bash
sudo cp /etc/aerospike/aerospike.conf.bac /etc/aerospike/aerospike.conf
```

## Start the Aerospike server

The following steps ensure that you have installed the Aerospike Enterprise server and that migrations have finished so that you can proceed to the next node.

1.  Start the Aerospike service with the following command:
    
    Terminal window
    
    ```bash
    sudo service aerospike start
    ```
    
    ::: note
    If you see warnings in the Aerospike log about deprecated parameters, confirm their usage in Aerospike 3 in the [Configuration Reference](https://aerospike.com/docs/database/reference/config).
    :::
    
2.  Wait for Aerospike’s service port (port 3000) to open before continuing. When the service port opens, the following command will return “OK”:
    
    Terminal window
    
    ```bash
    asinfo -v STATUS
    ```
    
3.  If your server contains any in-memory namespaces without persistence, you must wait for migrations to complete before continuing to the next node to prevent data loss.
    
    Run the following command to verify migrations are complete:
    
    Terminal window
    
    ```bash
    # Migrations are complete when all `migrate_progress_recv` and
    
    # `migrate_progress_send` values return 0.
    
    asadm -e "show statistics like migrate_progress"
    ```
    
4.  If all namespaces are persisted, you may continue to upgrade the next node and not lose any data.
    
    ::: caution
    If writes are still active on the cluster, and you choose to not wait for migrations to complete between node upgrades, some record updates may be overwritten during migration conflict resolution. Contact Aerospike Support for further details if necessary.
    :::
    

## Verify the installation

After completing all the steps above on each node, follow the steps in [Verify an installation](https://aerospike.com/docs/database/8.0.0/install/verify) to confirm that Aerospike was installed successfully and is running.