-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/61875/
-----------------------------------------------------------
(Updated Aug. 24, 2017, 8:57 a.m.)
Review request for Ambari, Attila Magyar, Balázs Bence Sári, Di Li, Eugene
Chekanskiy, Laszlo Puskas, Sebastian Toader, and Sid Wagle.
Bugs: AMBARI-21798
https://issues.apache.org/jira/browse/AMBARI-21798
Repository: ambari
Description (updated)
-------
This is specifically for the IOP *4.2.0 *to HDP migration
Start with an IOP 4.2.0 cluster with both Oozie and Knox installed, enable
Kerberos then run thru the migration. Once EU is finalized, regen Kerberos
keytabs via Ambari web UI and check the checkbox to make Ambari restart all
services as part of the regen process.
Notice Oozie crashes after a successful restart with following error in the
oozie.log file
{noformat}
2017-08-23 12:39:48,480 FATAL Services:514 - SERVER[umiak2.fyre.ibm.com] E0550:
Could not normalize host name [${host}], Could not resolve host [${host}],
${host}: Name or service not known
org.apache.oozie.service.ServiceException: E0550: Could not normalize host name
[${host}], Could not resolve host [${host}], ${host}: Name or service not known
{noformat}
This is because Knox kerberos.json in IOP 4.2.0 has oozie proxy setting as
{{"oozie.service.ProxyUserService.proxyuser.knox.hosts": "${hosts}",}}
In HDP 2.6.2, the same property is now
{{"oozie.service.ProxyUserService.proxyuser.${knox-env/knox_user}.hosts":
"${clusterHostInfo/knox_gateway_hosts}"}}, where the ${hosts} placeholder is
changed and Knox params.py no longer has the logic to calculate it .
*A manual fix* is to change Kerboers config for Knox - update
{{"oozie.service.ProxyUserService.proxyuser.knox.hosts"}} to have value
{{"${clusterHostInfo/knox_gateway_hosts}"}} ( done via UI, this will kick off
regen keytabs and restart services)
# Solution
Find and remove configuration specifications for the following configurations
in KNOX/KNOX_GATEWAY since they are invalid due to static "knox" embedded in
the property name and the values like ${host}:
- oozie-site/oozie.service.ProxyUserService.proxyuser.knox.groups
- oozie-site/oozie.service.ProxyUserService.proxyuser.knox.hosts
- webhcat-site/webhcat.proxyuser.knox.groups
- webhcat-site/webhcat.proxyuser.knox.hosts
- core-site/hadoop.proxyuser.knox.groups
- core-site/hadoop.proxyuser.knox.hosts
-
falcon-runtime.properties/*.falcon.service.ProxyUserService.proxyuser.knox.groups
-
falcon-runtime.properties/*.falcon.service.ProxyUserService.proxyuser.knox.hosts
Diffs
-----
ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog252.java
b83ba643ec
ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog252Test.java
d7df68c122
Diff: https://reviews.apache.org/r/61875/diff/1/
Testing
-------
manually tested
# Local test results:
```
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 30:46 min
[INFO] Finished at: 2017-08-23T22:21:53-04:00
[INFO] Final Memory: 85M/1773M
[INFO] ------------------------------------------------------------------------
```
# Jenkins test results: PENDING
Thanks,
Robert Levas