STORM-534:Store Nimbus Server Information in zookeeper path {storm.zookeeper.root}/nimbus#394
STORM-534:Store Nimbus Server Information in zookeeper path {storm.zookeeper.root}/nimbus#394caofangkun wants to merge 13 commits intoapache:masterfrom
Conversation
Merger from apache/storm to caofangkun/apache-storm
…okeeper.root}/nimbus
…okeeper.root}/nimbus
…nt fetch nimbus info from zk
…nt fetch nimbus info from zk
|
@revans2 |
|
Sorry this took me so long to respond to. I am kind of swamped :). I do like the idea of being able to access the version numbers for nimbus, but also for the supervisors. This becomes especially important for HA and rolling upgrades of large clusters. It is good to be able to verify that all of the nodes are on the versions you expect them to be on. I am OK with it being stored in ZK, so long as it is not written/read very frequently. Also if you think the configuration takes up too much room please take a look at #328 which makes the config paginated. |
|
@caofangkun If you want to reopen this and just add in the nimbus version information I would support that. |
|
@revans2 |
Merge from apache/storm to caofangkun/apache-storm
|
@revans2 |
|
@revans2 @caofangkun Any reason to store storm config in zookeeper. I don't see any benefit of it and whenever user/admin changes storm config these needs to be updated in zookeeper again. I am ok with having storm nimbus,supervisor versions numbers stored in zookeeper but not the config. |
|
@harshach |
There was a problem hiding this comment.
some merge conflicts made into PR. This won't be able to compile.
There was a problem hiding this comment.
Sorry.
I have fixed the merge conflicts . Please do try again.
|
@caofangkun Thanks . I think it helps categorizing the configuration into different section. But in a storm deployment same storm.yaml used on all hosts. So I don't think its a good idea make this distinction on the code side as it makes easier to have same config on all hosts for deployment reasons. |
|
I have a few questions. First why are we storing the nimbus version as JSON in zookeeper? The way the code is written to store the data in ZK we start off with the raw values. We put them in a thrift object, and then convert them to JSON to store them. To pull it back with the UI it asks nimbus to get the cluster info which results in a zookeeper call to get the JSON version string which is converted to thrift, sent back to the UI which converts it back to JSON again. It feels like there are a lot of unnecessary steps. Can we just store it as thrift in ZK and only convert to JSON for the final UI call? I would also prefer to have clients pick the nimbus server to use as part of nimbus HA #354 it fits better there. Perhaps we really should just wait for the HA code to go in before putting in the version number info. With this change we get half of HA but not all of it. |
|
I am already planning on storing all the required information and modify the UI as part of nimbus HA, Please see https://issues.apache.org/jira/browse/STORM-654 and comment on it if you think more information should be stores as part of NimbusInfo instance. |
|
Let's close it for now.More information will be discussed on STORM-654 |
Store Nimbus Server Information in zookeeper path {storm.zookeeper.root}/nimbus
like {nimbus_host_name}:{nimbus_thrift_port}
May add more information like nimbus server version Information ?