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.
---