In order to make your upgrade as safe as possible, we encourage you to make a full backup of your CARTO onpremises install, and to double-check it is working. If at all possible, make a full snapshot of your machine or data volume.
Please check backuprecovery for common backup instructions.
You can check which release of CARTO onpremises is installed using this command:
1
2
3
4
5
6
7
8
/opt/carto/tools/bin/cartoctl config -cr
+---------------------------------------+
| ROLES |
+---------------------------------------+
| builder |
| release: |
| version = 4.1.0 |
You can check the upgrade pack version in the builder installer file name:
1
carto-builder-<version>-rhel-7-x86_64.tar.gz
Every CARTO 2.1.x onpremises version can be upgraded to every greater 2.1.x version.
Every CARTO 2.1.x onpremises version can be upgraded to every other 2.2.x version
Every CARTO 2.2.x onpremises version can be upgraded to every other 3.0.0 version
1) These python packages must be installed:
You can install those packages by issuing a single command to your current install:
1
sudo /opt/carto/postgresql/embedded/bin/pip install --upgrade setuptools && sudo /opt/carto/postgresql/embedded/bin/pip install --upgrade pip && sudo /opt/carto/postgresql/embedded/bin/pip install --upgrade ansible==2.7.0 psycopg2==2.7.5
2) Unpack the tar.gz file of the builder installer:
1
tar xfz carto-builder-<version>-rhel-6-x86_64.tar.gz
Where <version> is the version of the file provided.
3) PostgreSQL should be upgraded BEFORE executing the CARTO onprem installer:
1
2
cd carto-builder-<version>-rhel-6-x86_64
sudo ./postgresql-upgrade.sh
Every CARTO 3.0.x onpremises version can be upgraded to every other 3.0.x version
Every CARTO 3.0.x onpremises version can be upgraded to every other 4.0.0 version
1) Unpack the tar.gz file of the builder installer:
1
tar xfz carto-builder-<version>-upgrade-rhel-7-x86_64.tar.gz
Where <version> is the version of the file provided.
2) Migrate configuration
It is required to transfer a backup from the old On-Premise installation to the new one of RHEL7/CentOS 7. Folders that should be copied:
- PostgreSQL data that is stored in a folder called
postgresql
under the path defined byCARTO_DATA_ROOT_PATH
.- Builder data that is stored in the folder called
shared
under the path defined byCARTO_DATA_ROOT_PATH
.This two folders can be stored anywhere on the new instance, except in a folder under the path defined by the new environment variable
CARTO_POSTGRES_DATA_ROOT_PATH
.
1
2
3
4
cd carto-builder-<version>-upgrade-rhel-7-x86_64
ln -sf path_to_postgresql_backup upgrade/pg_backup
ln -sf path_to_builder_backup upgrade/shared_backup
sudo ./cartoctl init -l license.lic
1
vi ~/.carto/config.yml
3) Perfom the upgrade
1
2
cd carto-builder-<version>-upgrade-rhel-7-x86_64
sudo ./cartoctl nodes install
CARTO 4.0.0 onpremises version can be upgraded to 4.0.1 version.
1
2
3
4
tar xfz carto-builder-4.0.1-rhel-7-x86_64.tar.gz
cd carto-builder-4.0.1-rhel-7-x86_64
sudo ./cartoctl tasks import tasks/upgrade/4.0.1
sudo ./cartoctl nodes upgrade
CARTO 4.0.1 onpremises version can be upgraded to 4.1.0 version.
1
2
3
4
tar xfz carto-builder-4.1.0-rhel-7-x86_64.tar.gz
cd carto-builder-4.1.0-rhel-7-x86_64
sudo ./cartoctl tasks import tasks/upgrade/4.1.0
sudo ./cartoctl nodes upgrade
Release 4.1.0
brings in the new platter
service, which was not
available in previous releases and is part of the new Telemetry
feature.
To have platter installed
, simply execute the following from the
release root folder:
1
2
cd /carto-builder-4.1.0-rhel-7-x86_64
sudo ./tasks/upgrade/4.1.0/scripts/install_platter.sh
CARTO 4.1.0 onpremises version can be upgraded to 4.2.0 version.
1
2
3
tar xfz carto-builder-4.2.0-rhel-7-x86_64.tar.gz
cd carto-builder-4.2.0-rhel-7-x86_64
sudo ./cartoctl tasks import tasks/upgrade/4.2.0
1
sudo ./cartoctl nodes tasks exec -r postgresql postgresql_preupgrade_4.2.0
3) Perfom the upgrade
1
sudo ./cartoctl nodes upgrade
The upgrade process takes a snapshot of your current configuration and data. It is advisable to check if you have enough disk space for this operation to avoid possible incoherent upgrades due to lack of disk space.
The CARTO installer artifact can be used to upgrade from a previous compatible running version.
1) Unpack the tar.gz file of the Builder installer
1
tar xfz carto-builder-<version>-rhel-7-x86_64.tar.gz
Where version is the version of the file provided.
2) Import upgrade tasks, corresponding to the version we are going to upgrade to:
1
2
cd carto-builder-<version>-rhel-7-x86_64
sudo ./cartoctl tasks import tasks/upgrade/<version>
3) In order to upgrade, run the installer, with sudo (or as root):
1
2
cd carto-builder-<version>-rhel-7-x86_64
sudo ./cartoctl nodes upgrade
After upgrading from CARTO onpremises 2.1.x to 2.2.x it is mandatory to
enable create_overviews
feature flag for all existing users. In order
to do so, please execute:
1
carto-builder-feature-flags.sh enable all create_overviews
CARTO_VERSION >= 3.0.1
If upgrading to a version >= 3.0.1, and you use Oauth, please make sure you create a cron job to periodically clean the expired Oauth tokens postinstallconfig