Which components must have HA in order to perform Rolling Upgrade? The documentation for Rolling Restart is a bit vague in regards to the bare minimum required to perform Rolling Upgrade:
HA will allow the services to be operational during upgrade. Basically HA here allows multiple service instances available on different nodes on the cluster. So while upgrading and restarting the service on one node, the other nodes running the same service will be operational. If you are sure there will be no clients connecting to these services during upgrade then you can live without HA for those services.
The clients are set to automatically retry, so technically you only need NameNode HA. Of course, if you have HA for HiveServer2, Oozie, Resource Manager, load balanced Knox servers, multiple Storm Supervisors, multiple HBASE masters, etc., then you have a stronger guarantee of uptime.