2. Option II - Central Push Install Using Provided Script

If your Data Center does not have established procedures for doing centralized push-install, then you may either follow the below suggested procedure, or you may avoid the issue of centralized installation by manually installing HDP on each individual node in the cluster, documented in section Installing HDP manually, one node at a time.

You can choose to use the helper install script push_install_hdp.ps1. The push_install_hdp.ps1 script only installs one machine at a time, and does all the machines in the cluster in sequence. This is sufficient for a small test cluster, and it does not require any shared storage. It pushes the files to each node using that node's "Administrative Shares", so make sure that the Admin Shares feature is turned on for all hosts in the cluster, and the Administrator user id you will use to run the install script has privileges to write to the Admin Shares on the other hosts.

  1. Identify the hosts that will constitute the Hadoop cluster nodes and follow the instructions in section Prepare the Environment to configure them all for centralized push-install.

  2. Extract the HDP-Win zip folder from here and identify the MSI and example clusterproperties.txt file.

    [Note]Note

    Downloaded MSI includes full source, binary-only MSI, and documentation for all components. Hortonworks recommends using the binary-only MSI for faster downloads.

  3. Create your own custom clusterproperties.txt file using the instructions in section Define Cluster Configuration.

  4. Place the MSI and custom clusterproperties.txt file in a convenient local subdirectory on the host from which you are running the push install.

    • Advanced: You may also place in this subdirectory other files that you want pushed to all the cluster hosts.

  5. On the master install node, run a command prompt in Administrator mode (to use Administrator privileges), and execute the install scripts with the following parameters:

    • source_path: Local or network share directory path where all the installable files reside, including the MSI, the clusterproperties.txt file, and any other files you want pushed to the cluster nodes.

    • target_path: A single absolute directory path, the same for all target machines, for the install directory ($HADOOP_NODE). The path should be specified as it would be locally on a target host. For example, D:\hadoop\.

    • clusterpropfile: Simple file name of the custom clusterproperties.txt file.

      The clusterproperties.txt resides in the $source_path directory. So, ensure that you provide the filename (without any path) as the value for the clusterpropfile parameter.

    • files_list: A single string containing a comma-delimited list of all simple file names to be pushed to all nodes.

      Typically these will include the MSI file, the custom clusterproperties.txt file, etc.

      Ensure that all files are in the $source_path directory. These files will be copied to $target_path directory.

      You may not input paths for these files, only simple names. Ensure that you include the custom clusterproperties.txt file.

    • msiexec command line token sequence: Complete msiexec command must be provided just as though you were entering it on a PowerShell command line of one of the target servers, after the files have been pushed.

      Start with the word msiexec and provide the entire command line, each argument in its own string object.

      The msiexec command line must be constructed by referring to section Install from the MSI.

      • Ensure that <$MSI_PATH> and <$PATH_to_clusterproperties.txt_File> arguments are specified as simple filenames (assume that the msiexec command will be run from the context of the target_path).

      • The <$PATH_to_Installer_Log_File> argument may be an absolute path or will be interpreted relative to the target_path.

      • The HDP_DIR argument is different from the target_path:

        • target_path is the location on each host where the MSI and clusterproperties.txt files will be copied to while preparing for the installation.

        • HDP_DIR is the location on each host where the HDP components will actually be installed by msiexec.

      The syntax for msiexec command line token sequence parameter is given below:

       msiexec /i "<$MSI_PATH>" /lv "<$PATH_to_Installer_Log_File>" HDP_LAYOUT="<$PATH_to_clusterproperties.txt_File>" HDP_DIR="<$PATH_to_HDP_Install_Dir>" DESTROY_DATA="<Yes_OR_No>"

    [Note]Note

    The push_install_hdp.ps1 script, will deploy the MSI and other files to each host in the cluster by writing (pushing) them from the install master host to the administrative share corresponding to the target_path argument on each host. (e.g., a target path of D:\hadoop\ will cause the admin share \\hostname\D:\hadoop\ to be written to on each host.)

  6. The installer script will return error messages or successful completion results to the Install Master host. These messages will be printed out at the end of the script execution. Examine these return results to ensure that all nodes were successfully installed.

  7. Smoke test your installation using the instructions provided in the Validate the Install section.