Deploying IBM Db2 Warehouse MPP on Linux and x86 hardware

Deploy IBM® Db2® Warehouse to a multinode massively parallel processing (MPP) system that runs on Linux® and uses x86 hardware.

Before you begin

If you previously installed Db2 Warehouse on your current hardware, do not follow this procedure. Instead, redeploy Db2 Warehouse by following the procedure described in Redeploying IBM Db2 Warehouse on Linux.

Ensure that your Linux system meets the hardware prerequisites described in IBM Db2 Warehouse prerequisites for Linux and x86 hardware.

Ensure that your Linux system meets the prerequisites described in Getting container images.

Procedure

  1. Ensure that you have root authority on the host operating system.
  2. Refer to Configuration options and note any options whose default settings need to be overridden. Later in this procedure, you will be instructed to specify the new settings.
  3. Log in to Docker or Podman by using your API key:
    echo <apikey> | docker login -u iamapikey --password-stdin icr.io
    echo <apikey> | podman login -u iamapikey --password-stdin icr.io
    where <apikey> is the API key that you created as a prerequisite in Getting container images.
  4. Ensure that the dates and times on all of your node hosts are synchronized.
  5. In the file system that the nodes share, create a nodes configuration file with the name /mnt/clusterfs/nodes.
    This file specifies, for each node, the node’s type, host name, and IP address in the form node_type=node_hostname:node_IP_address. For the host name, specify the short name that is returned by the hostname -s command, not the fully qualified domain name. For example, the following file defines a three-node cluster:
    
    head_node=test27:160.08.675.309 
    data_node1=test28:161.08.675.309
    data_node2=test29:162.08.675.309
  6. Issue the following docker run or podman run command concurrently on all node hosts. Do not attempt to wait until the command finishes running on one node host before issuing it on another. This command pulls, creates, and initializes the latest Db2 Warehouse container on each node host.
    Note: If necessary, add to the following command one -e parameter for each configuration option that is to be set during deployment. See Configuration options for more information. For example, both enable Spark and use row-organized storage, include the following option settings in your docker run or podman run command:
    -e DISABLE_SPARK=NO -e TABLE_ORG=ROW
    Issue the following docker run or podman run command:
    docker run -d -it --privileged=true --net=host --name=Db2wh -v /mnt/clusterfs:/mnt/bludata0 -v /mnt/clusterfs:/mnt/blumeta0 icr.io/obs/hdm/db2wh_ee:v11.5.6.0-db2wh-linux
    podman run -d -it --privileged=true --net=host --name=Db2wh -v /mnt/clusterfs:/mnt/bludata0 -v /mnt/clusterfs:/mnt/blumeta0 icr.io/obs/hdm/db2wh_ee:v11.5.6.0-db2wh-linux
  7. On the head node, issue the following command to check whether the deployment is progressing successfully:
    docker logs --follow Db2wh
    podman logs --follow Db2wh
  8. After the deployment finishes, a message indicates the web console URL and login information. Note this information for later.
  9. Exit the Docker/Podman logs by pressing Ctrl+C.
  10. On the head node, set a new password for the bluadmin user by issuing the following command:
    docker exec -it Db2wh setpass new_password
    podman exec -it Db2wh setpass new_password
  11. On the head node host, log in to the web console using the web console URL that was displayed in Step 8. The URL has the form https://head_node_IP_address:8443.