[
https://issues.apache.org/jira/browse/STORM-702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14358034#comment-14358034
]
Aaron Dixon commented on STORM-702:
-----------------------------------
A couple of notes on some of the code/design decisions in the current pull
request.
By supporting exhibitor, there will be necessarily be two ways to configure
Storm's connection to a Zookeeper cluster. Either you will configure a direct
connection to zookeeper hosts or you will configure a connection to exhibitor
host(s).
I see two ways to offer this up from a configuration perspective:
(1) You have *separate* connection properties for exhibitor servers and port
that parallel those configuration options for zookeeper. This is how I chose to
implement it in the current pull request. The properties are
"storm.exhibitor.servers", "storm.exhibitor.port",
"storm.exhibitor.poll.millis", and a few more.)
In this case, when the exhibitor servers/port are provided, the
"storm.zookeeper.servers" and "storm.zookeeper.port" configuration properties
are not required but if present are used as backups in the exhibitor-configured
client.
This of course is backwards-compatible. All existing storm configurations that
configure zookeeper directly will work as usual. Exhibitor is only used if
configured.
(2) Another design option would be to try to overload the existing
"storm.zookeeper.servers" and "storm.zookeeper.port" properties by using a
scheme for hosts. So for example you might indicate exhibitor servers via a
configuration like so:
storm.zookeeper.servers:
- "exhibitor://127.0.0.1"
I think this is less desirable for a number of reasons. I think it is less
explicit, less conventional. Also there will be a need for "storm.exhibitor.*"
properties to configure specific connection details unique to an exhibitor
connection.
> Apache Exhibitor support
> ------------------------
>
> Key: STORM-702
> URL: https://issues.apache.org/jira/browse/STORM-702
> Project: Apache Storm
> Issue Type: Improvement
> Reporter: Aaron Dixon
> Priority: Critical
>
> Storm connects to Zookeeper via an explicit list of zookeeper hosts.
> Apache Exhibitor offers zookeeper cluster discovery and management features
> allowing for dynamically resizing zookeeper clusters, restarting and
> replacing zk machines in the cluster, etc.
> Curator supports creating zookeeper client connections using exhibitor hosts.
> Storm should allow (optionally) for connection to its Zookeeper clusters
> through Exhibitor.
> Here is the github pull request that prompted this ticket, and that
> introduces optional exhibitor configuration and exhibitor support in Storm:
> https://github.com/apache/storm/pull/432
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)