Installing the Cloudera Manager python client

If you are installing Db2® Big SQL on a cluster that does not have access to the internet, you must manually install the Cloudera Manager python client.

About this task

Db2 Big SQL needs the Cloudera Manager python client to communicate with the Cloudera Manager REST API. To install the Cloudera Manager python client on a cluster that does not have access to the internet, you separately install the required python packages on a node that has internet access, put the packages in a .tar file, and copy the .tar file to the target installation node for the Db2 Big SQL Head.

The following list shows the packages that must be in the .tar file.
  • certifi
  • certifi-2020.12.5.dist-info
  • cm_api
  • cm_api-19.2.2.dist-info
  • cm_client
  • cm_client-41.0.1.dist-info
  • cm_shell
  • pip
  • six-1.15.0.dist-info
  • six.py
  • six.pyc
  • test
  • urllib3
  • urllib3-1.26.3.dist-info

Procedure

  1. On a node with internet access, install the top-level Db2 Big SQL package.
    For more information about installing the top-level Db2 Big SQL package, see Extracting the Db2 Big SQL installation files.
  2. Install pip by running the following commands.
    curl https://bootstrap.pypa.io/pip/3.4/get-pip.py -o get-pip.py
    python get-pip.py
  3. Install the Cloudera Manager python client.
    python /usr/ibmpacks/IBM-Big_SQL/7.1.0.0/bigsql-cli/python/setup_cloudera_api.py
  4. Copy the following packages to a temporary subdirectory of /usr/lib/python2.7/site-packages/, and create a .tar file that contains those packages.
    cd /usr/lib/python2.7/site-packages/
    mkdir tmp
    cp -R certifi* tmp/
    cp -R cm_* tmp/
    cp -R six* tmp/
    cp -R test tmp/
    cp -R urllib3* tmp/
    cp -R pip tmp/
    cd tmp/
    tar -czvf ../cm-clients.tar.gz .
    cd ..
    rm -rf tmp
  5. Check whether /usr/bin/pip exists on the offline cluster.
    • If /usr/bin/pip exists on the offline cluster and the version is older than /usr/bin/pip on the online node, make a backup of the file and replace it with /usr/bin/pip from the online node.
    • If /usr/bin/pip does not exist on the offline cluster, copy /usr/bin/pip from the online node.
  6. Copy the cm-clients.tar.gz file to the /usr/lib/python2.7/site-packages/ directory on the offline cluster, extract the required python packages from the .tar file, and install the Cloudera Manager python client.
    cd /usr/lib/python2.7/site-packages/
    cp cm-clients.tar.gz /usr/ibmpacks/IBM-Big_SQL/7.1.0.0/bigsql-cli/python
    tar -xzf cm-clients.tar.gz
    rm -rf cm-clients.tar.gz
    python /usr/ibmpacks/IBM-Big_SQL/7.1.0.0/bigsql-cli/python/setup_cloudera_api.py
    
    After the python client is installed, you see messages that are similar to the following examples.
    <timestamp> - INFO: pip is already installed
    <timestamp> - INFO: Cloudera Manager v5 python client api is already installed
    <timestamp> - INFO: Cloudera Manager python client api is already installed

What to do next

Tip: If you later set up a standby head node, you can use cm-clients.tar.gz from /usr/ibmpacks/IBM-Big_SQL/7.1.0.0/bigsql-cli/python/ to install the same python packages on the standby head node.

Installing Db2 Big SQL