Apache Ambari Upgrade
Also available as:
PDF

Limitation: Patch Upgrades in Mixed-OS Environments

Summary

Applying a patch upgrade to a cluster with more than one version of an operating system, (mixed OS) may require that you manually rebuild tarballs to include forward-compatible native libraries and upload them to a location accessible by both operating systems.

Problem Description

When you apply an HDP patch in a mixed OS environment (of the same OS family, for example RHEL 6 and RHEL 7), and if master components like Job History Server or Hive server are located on a RHEL7 machine, native libraries for RHEL7 are packaged in both the mapreduce.tar.gz and tez.tar.gz tarballs. Worker nodes running RHEL6 in the cluster will be unable to load the RHEL7 native libraries.

Workaround

You must fetch any mapreduce.tar.gz and tez.tar.gz tarballs from a RHEL7 machine and rebuild them manually on a RHEL 6 machine. RHEL6 native libraries are forward-compatible. You must then upload the rebuilt tarballs to the correct locations in HDFS.

  • Locate and extract /usr/hdp/<version>/hadoop/mapreduce.tar.gz

  • Copy the files directory /usr/hdp/<version>/hadoop/lib/native into the hadoop/lib directory from the tarball so that hadoop/lib/native exists and contains all of the files and folders from the above location.

  • Re-compress the tarball and upload it into HDFS at /hdp/apps/<version>/mapreduce/mapreduce.tar.gz

  • Locate and extract /usr/hdp/<version>/tez/lib/tez.tar.gz

  • Copy the files directory /usr/hdp/<version>/hadoop/lib/native into the lib directory from the tarball so that lib/native exists and contains all of the files and folders from the above location.

  • Re-compress the tarball and upload it into HDFS at /hdp/apps/<version>/tez/tez.tar.gz