Loading of the Docker image and preparing the installation environment

Load the installer docker image to the install node and do the steps to start the installation process.

Before you begin

The install files that you need are:
  • installer30.tar.gz,.
  • registry-data-full30.tar.gz.
  • registry-data-hdp.tar.gz.

About this task

The setting up of the environment has steps that must be carried out sequentially.

Procedure

  1. Log into the install node as root user.
  2. Copy the files installer30.tar.gz, registry_data.full30.tar.gz, registry-data-hdp.tar.gz images to the /tmp directory on the install node.
    Important: The following commands use the /tmp directory as the default location for these files. If you use a different location, you need to modify the path in each of the commands.
  3. Load the install image on the node that is used as the installer server.
    The files are located in the /tmp directory:
    sudo gunzip -c installer30.tar.gz | sudo docker load
  4. Open the install node and create the install folder and mount the configuration.
    Run the commands
    sudo mkdir -p /install
    sudo docker run --rm -v /install:/data --name=installer ibmiot/ife.installer /bin/bash -c "cp -r /install/conf /data;mkdir -p /data/images;mkdir -p /data/ssh_key"
  5. Open the /install/conf configuration folder.
    By default the configuration is a 4+7 topology. If you want to install a 1+2 topology, make a backup of the default containers.ini, nodes.ini, config.properties files. Copy the 1+2 topology files from topolgy3nodes folder under /install/conf and overwrite the default files.

    If you need to have a configuration other than the standard ones delivered in the solution, please refer to the topic, Customizing the standard configuration of nodes, slave nodes and HDP client nodes.

    Note: If you are using SUDO user, you must change the user account in config.properties. The default is root.
    Figure 1. Config.properties file installUser setting
    shows the default setting as root
    1. Optional: For the Connectivity Model application: When you want to expose more ports for Jupyter notebook, open the /install/conf/containers.ini file and go to the [notebook_container] section, add more ports that are mapping in the exposePorts item.
      The default exposePorts is:
      exposePorts=[9995:9995;8888:8888;8889:8889;8887:8887;8886:8886]
      For example, if you want to expose the external port 8884 for the container internal port 8884 that Jupyter notebook uses in the container, then the item will be like this:
      exposePorts=[9995:9995;8888:8888;8889:8889;8887:8887;8886:8886;8884:8884]
    2. For all applications: Open the nodes.ini file.
    3. For all applications: Type the hostname, IP address and the network interface (NIC) for each node.
      For example:
      [app_node]
      name=appNode
      hostname=libertyServer.cn.ibm.com
      ip=172.254.254.01
      networkInterface=ens192
    4. For all applications: When using default the appNode for the registry node, choose another node for the installer node, for example dbNode (4+7) or bigdataNodeOne(1+2). Otherwise place the registry on another node other than the appNode. If you need to change the location of the registry for the Docker registry information, you do this in the registry.ini configuration file.
      For example if the default node is the appNode, deploy the registry on the dbNode, open the registry.ini file, and change the target value from appNode to dbNode:
      [registry]
      name=ibmiot.ife.registry
      target=dbNode
      exposePort=5000
      Note: If you do change the host node of the registry, make sure that the host has at least 100 GB of space under the /tmp directory as described in the Planning the hardware and software needed.
    5. For Asset Performance Management or Asset 360 for Wind applications: Open the /install/conf/nodes.ini file and delete the lines from [ambari_node] to the end of this file.
      For 1+2 topology. Open the /install/conf/nodes.ini file and delete the lines from [bigdata_node_one] to the end of this file.
    6. For Asset Performance Management or Asset 360 for Wind applications: Open the /install/conf/containers.ini file and delete the lines from [cm_backend_container] to the end of this file.
    7. For the Connectivity Model application: Open the /install/conf/nodes.ini file and delete the sections that include the text [spss_node], [db_node], [cognos_node].
    8. For the Connectivity Model application: Open the /install/conf/containers.ini file and delete the sections that includes the texts [db_artifacts_container], [db_base_container], [spss_artifact_container], [spss_base_container], [cognos_db_base_container], [cognos_base_container], [jena_artifacts_container], [jena_base_container].
    9. For all applications: If you need to change the password information, you do this in the config.properties configuration file.
      For example:
      #ldap server password
      password.ldapServerPassword=password123
      
      The values with the default values and descriptions are listed:
      encryptKeyString
      ibmioteuibmioteu
      The encryptKeyString must be 16 lengths long for the encrypt function to work.
      password.ldapServerPassword
      pw4ibmioteu
      The password for LDAP server.
      password.spssUserPassword
      pw4ibmioteu
      The SPSS user password to start the modeler server and the run.sh analysis program.
      password.libertyUserPassword
      pw4ibmioteu
      The wlp user password to start the liberty server.
      password.db2password
      pw4ibmioteu
      The db2inst1 user password for the DB2 Server.
      password.DBSSLConnKeyPassword
      pw4ibmioteuStr0ngpassw0rd
      For DB SSL communication. The password be strong . If the password is not strong, additional steps will be necessary.
      password.DBEncryptKeyPassword
      pw4ibmioteu
      The password used for the DB2 server to encrypt the database.
      password.cogDB2NodeDBInstanceUserPassword
      pw4ibmioteu
      The db2inst1 user password for the DB2 Server.
      password.cognosUserPassword
      pw4ibmioteu
      The Cognos user password to start the cognos server
      password.cogDBinstanceUserPassword
      pw4ibmioteu
      The db2inst1 user password for the IFECogNode container.
      password.BobuserPassword
      pw4ibmioteu
      The administrative user password for admin user forIBM Maximo Asset Performance Management for Energy & Utilities On-Premises.
      password.user1userPassword
      pw4ibmioteu
      The sample user user1 password for IBM Maximo Asset Performance Management for Energy & Utilities On-Premises.
      password.user2userPassword
      pw4ibmioteu
      The sample user user2 password for IBM Maximo Asset Performance Management for Energy & Utilities On-Premises.
      password.GaryuserPassword
      pw4ibmioteu
      The password for the user Gary for the IBM Maximo Asset Performance Management for Energy & Utilities On-PremisesAsset 360 for Wind application.
      password.MelanieuserPassword
      pw4ibmioteu
      The password for wind 360 user Melanie for the IBM Maximo Asset Performance Management for Energy & Utilities On-PremisesAsset 360 for Wind application.
      password.RickuserPassword
      pw4ibmioteu
      The password for wind user Rick for the IBM Maximo Asset Performance Management for Energy & Utilities On-PremisesAsset 360 for Wind application.
      openId.enabled
      true/false, default false

      When openId.enabled is set to true, enables openId authorization.

      The user must also provide a valid openId.IBMid and openId for redirectToRPHostAndPort
      openId.IBMid
      Provided by user
      The IBMid that is used to log in application
      openId.redirectToRPHostAndPort
      Provided by user

      This value must be added to Redirect URIs in IBM Maximo Asset Performance Management for Energy & Utilities On-Premises.

      Contact IBM to add the redirect URIs.

      For example:

      https://<ip or hostname of where IFEIHSNode deployed>/oidcclient/redirect/blueid

      password.kdcAdmin
      pw4ibmioteu
      The password for KDC admin user.
  6. Copy the Docker image registry files registry-data-hdp.tar.gz and registry-data-full30.tar.gz to the /install/images folder.
  7. Copy the ssh private key to the /install/ssh_key directory.
    Run the command:
    sudo cp ~/.ssh/docker.id_rsa /install/ssh_key
  8. Prepare the environment.
    Run the command:
    sudo docker run -t --rm -v /install:/data --net=host ibmiot/ife.installer prepareEnv
    Note: The prepare environment does:
    • the configuration of the Docker engine.
    • the update of the /etc/hosts environment.
    • stops the iptables and firewalld services.
    • restarts the docker service.
    Important: If there are any errors in the configuration information the nodes.ini file, for example the incorrect the IP address, host name, or network interface, that has been entered, then you must manually log into each node, clear the host name mapping that has been added in the /etc/hosts file and correct the nodes.ini file and run the prepareEnv command again.

    For Redhat and Centos operating systems, run following command to ensure the "--storage-opt dm.basesize=500G" setting in the /usr/lib/systemd/system/docker.service file is active, should able to see there are 500G for / directory.

    sudo docker run --rm ibmiot/ife.installer  df -h

    If not, you must delete and reload the installer image to make sure that the docker engine setting works for all containers.

    
    sudo docker rmi ibmiot/ife.installer; 
    sudo docker rm installer  
    sudo docker rmi ibmiot/ife.installer;
    sudo docker rmi ibmiot/ife.installer:v1.0   
    sudo gunzip -c /tmp/installer.tar.gz | sudo docker load
    

    Then run bellow command to check again.

    sudo docker run --rm ibmiot/ife.installer df -h
    Note: If you do not have iptables or firewalld installed, you can ignore the error iptables or firewalld are missing.
    Note: If you receive the error "error getting events from daemon: unexpected error", you have executed the prepareEnv command more than once and you can ignore this error.