Installing the watsonx.data developer version

IBM® watsonx.data developer version is an entry-level version for the developer and partner community. The developer version offers a set of containers on a suitable host machine at the same release level as the Enterprise version, with restricted features.

Before you begin

  • Ensure that you have your entitlement key to access the IBM Entitled Registry. After you get the entitlement key from the container software library, you can log in to the registry with the key and pull the runtime images to your local machine.
    Note: You must purchase IBM watsonx.data to get the entitlement key.
  • For optimal security and stability, it is highly recommended to install the watsonx.data developer version as a non-root user. Also, ensure to establish connections to the remote systems by using SSH instead of using the su command.
  • Ensure to meet the following system requirements and install the most recent version of Docker or Podman on your system.
    Operating system x86-64 Docker and Podman installation instructions
    Linux®

    Docker

    Podman

    Windows

    Docker

    Podman

    Mac OS x86

    Docker

    Podman

    Note:
    • Ensure to meet the prerequisites for installing watsonx.data developer version on Mac with Apple silicon.
    • Ensure to meet the prerequisites for installing watsonx.data developer version on Mac with Intel chip.
  • For SUSE Linux, podman is only available for version SLES 15.4. Upgrade the system first (zypper dist-upgrade) before installing the dependencies that are not provided but are needed for the installation of docker or podman.
  • For Docker:
    • sysuser-shadow in SLES 12.5
    • catatonit in SLES 15.5
  • For Podman:
    • fuse-overlayfs in SLES 15.4
    Note: Packages can be downloaded from the official site.
    Important: Ensure to add the podman-plugins for the DNS server of Podman network to work properly.
    yum install -y podman-plugins

    For SUSE, install cni-plugin-dnsname instead.

    If you add the podman-plugins after you start the watsonx.data service, delete the Podman network ibm-lh-network and restart the watsonx.data service.

    Tip: Podman provides a Docker-compatible command-line front end. You can alias the Docker CLI with the alias docker=podman shell command.

Procedure

  1. Set up the installation directory and environment variables.
    1. Set up the work directory.
      mkdir <install_directory>
      cd <install_directory>
    2. Set the environment variables.
      export LH_ROOT_DIR=<install_directory>
      export LH_RELEASE_TAG=latest
      export IBM_LH_TOOLBOX=cp.icr.io/cpopen/watsonx-data/ibm-lakehouse-toolbox:$LH_RELEASE_TAG
      export LH_REGISTRY=cp.icr.io/cp/watsonx-data
      export PROD_USER=cp
      export IBM_ENTITLEMENT_KEY=<your_IBM_entitlement_API_key>
      export IBM_ICR_IO=cp.icr.io
      Note: Use the following table to identify the LH_RELEASE_TAG value:
      Table 1. Release tags with Cloud Pak for Data versions
      Cloud Pak for Data version Service instance version
      4.8.5 v1.1.4 (latest)
      4.8.4 v1.1.3
      4.8.3 v1.1.2
      4.8.1 v1.1.1
      4.8.0 v1.1.0
      The latest tag is set to v1.1.4
      Note: For air gap installation, ensure to mirror the images to a private registry before you set the environment variables:
      export IBM_LH_TOOLBOX=<Private_registry>/cpopen/watsonx-data/ibm-lakehouse-toolbox:$LH_IMAGE_TAG
      export LH_REGISTRY=<Private_registry>/cp/watsonx-data
      export PRIVATE_REGISTRY_USER=<User login to Private registry>
      export PRIVATE_REGISTRY_PASSWORD=<User password to login private registry>
      If you are using Docker, run the following command:
      export DOCKER_EXE=docker
      If you are using Podman, run the following command:
      export DOCKER_EXE=podman
  2. Pull the watsonx.data developer package and copy it to the host system:
    $DOCKER_EXE pull $IBM_LH_TOOLBOX
    id=$($DOCKER_EXE create $IBM_LH_TOOLBOX)
    $DOCKER_EXE cp $id:/opt - > /tmp/pkg.tar
    $DOCKER_EXE rm $id
    id=
  3. Extract the watsonx.data developer version pkg.tar file in to the /tmp directory. Verify that the checksum is correct by comparing the checksum in bom.txt and the cksum command output. For example:
    tar -xf /tmp/pkg.tar -C /tmp
    cat /tmp/opt/bom.txt
    cksum /tmp/opt/*/*
    tar -xf /tmp/opt/dev/ibm-lh-dev-*.tgz -C $LH_ROOT_DIR
  4. Authenticate with the registry:
    $DOCKER_EXE login ${IBM_ICR_IO} \
    --username=${PROD_USER} \
    --password=${IBM_ENTITLEMENT_KEY}
    
    Note: For air gap installation, run the following command to authenticate to the private registry:
    $DOCKER_EXE login ${LH_REGISTRY} \
    --username=${PRIVATE_REGISTRY_USER} \
    --password=${PRIVATE_REGISTRY_PASSWORD}
  5. Run the setup script.
    $LH_ROOT_DIR/ibm-lh-dev/bin/setup --license_acceptance=y --runtime=$DOCKER_EXE

    Use the --password command line argument to set the password of the default ibmlhadmin user for access to the UI interface, API interface and presto-cli interface. If the password is not set, then the default password is 'password'. You can add more users and change the password post setup. For more information, see Commands and usage

  6. Start the containers.
    $LH_ROOT_DIR/ibm-lh-dev/bin/start
  7. To open the watsonx.data console, go to https://localhost:<https_port>, where <https_port> is the port number that you entered during setup. For remote access, replace localhost with the machine hostname. For example,https://lh-demo-01:9443/

    You need to enter the username ibmlhadmin and the related password. If the password was not chosen at the time of setup, the default password is 'password'. For more information, see Commands and usage

  8. To check the status of all the containers, run the following command:
    $LH_ROOT_DIR/ibm-lh-dev/bin/status --all
  9. To stop all the containers, run the following command:
    $LH_ROOT_DIR/ibm-lh-dev/bin/stop
    Note: To stop or start a specific container, run the following commands:
    $LH_ROOT_DIR/ibm-lh-dev/bin/stop_service <container_name>
    $LH_ROOT_DIR/ibm-lh-dev/bin/start_service <container_name>
    where <container_name> is the service name. It is the string that is displayed under the NAMES column when you run the docker ps command.
    For example:
    $LH_ROOT_DIR/ibm-lh-dev/bin/stop_service lh-hive-metastore
    $LH_ROOT_DIR/ibm-lh-dev/bin/start_service lh-hive-metastore