Offline package usage
Offline packages are special shell scripts that contain necessary data for offline installation of the ADH services.
Prerequisites
Before using the offline pack, make sure that your target environment satisfies the following requirements:
-
Docker is installed and running.
-
Helm (v3.8.0 and above) is installed.
-
bashshell is available. -
Sufficient disk space for images and charts is available.
-
Network access to OCI registry (to push images) is provided.
Setup
-
Copy the <pack.sh> archive to your target environment, where
<pack>is the name of the shell script provided to you by the Arenadata support team. You can use a <pack.sh>.xz archive as well, but unpack it before usage (e.g. withxz -d <pack.sh>.xz). -
Verify package integrity:
$ bash <pack.sh>The expected output contains a greeting and a list of the available commands:
------------------------------------------------------------------- Hey there! That is a pack for offline installation prepared by Arenadata team. Use it wise and check out available options bellow. And make sure there's no newline at the end of this script, otherwise pack will be corrupted and you'll see "tar: This does not look like a tar archive" ------------------------------------------------------------------- We have following options for that pack: unpack_adcm - load ADCM image from pack to local docker image storage create_adcm - create ADCM container master_adcm - unpack ADCM image, create ADCM container and run it on port 8000 unpack_et - load Enterprise Tools images from pack to local docker image storage unpack_repo - load repo data to HTTP repo unpack_deps - unpack ET dependencies unpack_images - unpack and load docker images unpack_charts - unpack helm charts list - list repos and images in this pack
-
List bundled artifacts:
$ bash <pack.sh> listThe expected output is as follows:
REPOS: IMAGES: hub.arenadata.io/adc-enterprise/trino-operator:1.3.1-0 hub.arenadata.io/adc-enterprise/impala-operator:1.3.1-0 hub.arenadata.io/adc-enterprise/kerberos-operator:1.3.1-0 hub.arenadata.io/adh-enterprise/trino-docker:476_arenadata2-adh-4.2.0-x86_64 hub.arenadata.io/adh-enterprise/impala-docker:4.5.0_arenadata1-adh-4.2.0-x86_64 hub.arenadata.io/adh-enterprise/spark3-docker:3.5.4_arenadata3-adh-4.2.0-x86_64 hub.arenadata.io/adh-enterprise/spark4-docker:4.0.1_arenadata1-adh-4.2.0-java17-x86_64 hub.arenadata.io/adh-enterprise/spark4-docker:4.0.1_arenadata1-adh-4.2.0-java21-x86_64 CHARTS: oci://hub.arenadata.io/adc-enterprise/charts/trino-operator:1.3.1-0 oci://hub.arenadata.io/adc-enterprise/charts/trino-cluster:1.3.1-0 oci://hub.arenadata.io/adc-enterprise/charts/impala-operator:1.3.1-0 oci://hub.arenadata.io/adc-enterprise/charts/impala-cluster:1.3.1-0 oci://hub.arenadata.io/adc-enterprise/charts/kerberos-operator:1.3.1-0 oci://hub.arenadata.io/adc-enterprise/charts/kerberos-config:1.3.1-0 ET_IMAGES: ET_DEPENDENCIES: /ADC/cli/adc_v1.3.1-0_linux_amd64 /ADC/cli/adc_v1.3.1-0_darwin_arm64 /ADC/cli/adc_v1.3.1-0_darwin_amd64 /ADC/cli/adc_v1.3.1-0_linux_arm64
-
If you plan to install the services via CLI, extract the
ET_DEPENDENCIESartifacts using theunpack_depsoption. Choose the file that corresponds to your OS and make it executable withchmod +x. Optionally, you can move it to /usr/local/bin and rename it to adc.Once you have unpacked the tool, verify its integrity:
$ ./adc --helpThe expected output is:
Usage: adc [command] Available Commands: cluster Manage product clusters completion Generate the autocompletion script for the specified shell help Help about any command operators Manage operators Flags: -h, --help help for adc -v, --verbose Enable verbose logging --version version for adc Use "adc [command] --help" for more information about a command. -
Extract and load Docker images:
$ bash <pack.sh> unpack_imagesThis will:
-
Extract images from the pack.
-
Load them into local Docker storage.
-
Make images available for the
docker tag/docker pushcommands.The output should contain loading confirmations:
Loaded image: hub.arenadata.io/adh-enterprise/spark4-docker:4.0.1_arenadata1-adh-4.2.0-java17-x86_64 Loaded image: hub.arenadata.io/adh-enterprise/spark4-docker:4.0.1_arenadata1-adh-4.2.0-java21-x86_64 Loaded image: hub.arenadata.io/adc-enterprise/trino-operator:1.3.1-0 Loaded image: hub.arenadata.io/adc-enterprise/impala-operator:1.3.1-0 Loaded image: hub.arenadata.io/adc-enterprise/kerberos-operator:1.3.1-0 Loaded image: hub.arenadata.io/adh-enterprise/trino-docker:476_arenadata2-adh-4.2.0-x86_64 Loaded image: hub.arenadata.io/adh-enterprise/impala-docker:4.5.0_arenadata1-adh-4.2.0-x86_64 Loaded image: hub.arenadata.io/adh-enterprise/spark3-docker:3.5.4_arenadata3-adh-4.2.0-x86_64
-
-
Tag and push images into a private registry. The list of bundled images is available on the third step. For every image you see there, apply the
tagandpushcommands below:$ docker tag hub.arenadata.io/adh-enterprise/spark3-docker:3.5.4_arenadata3-adh-4.2.0-x86_64 "$PRIVATE_REGISTRY"/adh-enterprise/spark3-docker:3.5.4_arenadata3-adh-4.2.0-x86_64 $ docker push "$PRIVATE_REGISTRY"/adh-enterprise/spark3-docker:3.5.4_arenadata3-adh-4.2.0-x86_64The output for each push should be similar to the following:
.0-develop-x86_64 The push refers to repository [<PRIVATE_REGISTRY>/adh-enterprise/spark3-docker] 8bdcbd2226bf: Pushed 7c0e97019764: Pushed ee6d25b218db: Pushed b1c9872907bd: Pushed bc9aad66e281: Pushed fd7b85c1b84e: Pushed 6401a22b39d4: Pushed 6b0653d72989: Pushed 5f70bf18a086: Pushed 0761d1f99054: Pushed 3.5.4_arenadata3-adh-4.2.0-x86_64: digest: sha256:06976d3d99cb2d3d890d05fcb9f061c83ab2619e99f9c259bcf58070f6afea35 size: 1845
The registry, repository, and tags are configurable on the installation step of operators, but please keep the mapping between images from pack and images in your registry documented.
-
Extract the Helm charts to a local directory:
$ bash <pack.sh> unpack_chartsThis creates the charts directory structure with all the Helm charts in the
.tgzformat.Run the command below to see an organized chart structure:
$ tree charts/The output:
charts └── hub.arenadata.io └── adc-enterprise └── charts ├── impala-cluster-1.3.1-0.tgz ├── impala-operator-1.3.1-0.tgz ├── kerberos-config-1.3.1-0.tgz ├── kerberos-operator-1.3.1-0.tgz ├── trino-cluster-1.3.1-0.tgz └── trino-operator-1.3.1-0.tgz 3 directories, 6 files -
Upload the Helm charts into a private registry.
Having all charts stored in the charts directory in the
.tgzformat, you can use thehelm pushcommand to upload a chart into a private registry:$ helm push ./charts/hub.arenadata.io/adc-enterprise/charts/impala-cluster-1.3.1-0.tgz oci://$PRIVATE_REGISTRY/adc-enterprise/charts/impala-clusterFor each push, the output should be similar to:
Pushed: <PRIVATE_REGISTRY>/adc-enterprise/charts/impala-cluster:1.3.1-0 Digest: sha256:8c93ec1fd886d492b0867b70aff0245efe133548f26aa67cd93cc0d72f311fe1
Note that you will use your OCI registry’s charts during the installation and management later, but please keep the mapping between charts from pack and charts in your registry documented.