Mostly symlinks issues are fixed as we face them by comparing existing working setup etc, but is there is any design document which explains the larger symlink layout in Ambari which can be referred / passed on to customer ? This issue becomes crucial during upgrades . Also should be able to explain the directories such as "conf.empty" and CLASSPATH requirements etc.
That's a well-written article. Overall, the way that you should think of it is like this:
Here's an example using HiveServer2:
/etc/hive/conf -> /usr/hdp/current/hive-server2/conf /usr/hdp/current/hive-server2/conf -> /etc/hive/188.8.131.52-236/0
Ambari actually moves symlinks around after installation of RPM to make it look like the above. The raw installation packages don't have it like this; we change it in order to support parallel configurations in mixed-version clusters.