07-25-2017 12:54 AM
We have CDH 5.11, and because we need to install Spark 2.2 which requires JDK1.8, we installed JDK1.8 and switched CDH to use JDK 1.8 instead of JDK 1.7 as per instruction at https://www.cloudera.com/documentation/enterprise/5-11-x/topics/cdh_ig_jdk_installation.html#topic_2...
However, All services are using JDK 1.8 except that CM management services still use JDK1.7 after changes as per the instruction above. It's found that there is a bug with the script /usr/lib64/cmf/service/common/cloudera-config.sh which detects JAVA_HOME for CM management services.
The script, unlike /usr/lib/bigtop-utils/bigtop-detect-javahome script, doesn't detect and source /etc/default/bigtop-utils settings file when user overrides JAVA_HOME. And the script prefers JDK 1.7 over JDK 1.8.
The bug should be resolved by changing the script /usr/lib64/cmf/service/common/cloudera-config.sh to behave similar to /usr/lib/bigtop-utils/bigtop-detect-javahome which checks for setting file /etc/default/bigtop-utils, and use user settings which JAVA_HOME is manually configured.
It would be good also to include instruction/link to restart all CM services and CDH services once changing JDK version.