Github user justinleet commented on a diff in the pull request: https://github.com/apache/metron/pull/757#discussion_r139957912 --- Diff: metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/service_advisor.py --- @@ -69,6 +69,10 @@ def getServiceComponentLayoutValidations(self, services, hosts): message = "Metron REST must be colocated with an instance of STORM SUPERVISOR" items.append({ "type": 'host-component', "level": 'WARN', "message": message, "component-name": 'METRON_REST', "host": metronRESTHost }) + if metronRESTHost not in hbaseClientHosts: --- End diff -- It's more a shorthand for the fact that REST requires requires basically everything else (HDFS, ZK, HBase, all the topologies, etc.). We could do all the requirements in specifics if we want (and I'm not necessarily opposed to doing it for REST while I'm already in here), but I'd argue that's a good candidate for a follow on task (since we do it on multiple items). I'd prefer to do what the Hive service does and just automatically place every required item on the same node automatically (the selector on install automatically selects the same thing for all the components), which then means that this colocation check on something like parsers is more robust. Having said that, I never quite dug deep enough into how Ambari actually enforces that for Hive.
---