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 thehadoop/lib
directory from the tarball so thathadoop/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 thelib
directory from the tarball so thatlib/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