[ https://issues.apache.org/jira/browse/BIGTOP-1746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14375046#comment-14375046 ]
Evans Ye commented on BIGTOP-1746: ---------------------------------- Hi [~vishnu], I'd like to thank you for devoting lots of energy in this great feature we're eager to have. Please allow me to chime in with my personal opinion. I've briefly read through the patch and it seems that currently we need to drop different configuration files that indicate the roles of node on different nodes. I understand that in this patch you'd like to target on the second point, while the first point should be another story. But what we've done in this patch somehow directly related to the implementation when we dealing with the first point. So, here's what I can see to have a topology representation implemented after your patch: we can get FQDN from *facter* and use FQDN to determine what roles a node needs to be provisioned. For instance, we can have site.yaml like this: {code} node1.do.main - hadoop::namenode - hadoop-zookeeper::server node2.do.main - hadoop::datanode - hadoop-zookeeper::server node3.do.main - hbase::master - hadoop-zookeeper::server {code} when doing puppet apply, each puppet agent first matches FQDN in configuration file and fetch its roles, then proceed to the deployment based on role definitions just as what your patch does. I'm not proposing to modify your patch. Instead, I just want to make sure that this can be applied on top of your patch so that we can have this in and address the topology representation in another JIRA. :) > Introduce the concept of roles in bigtop cluster deployment > ----------------------------------------------------------- > > Key: BIGTOP-1746 > URL: https://issues.apache.org/jira/browse/BIGTOP-1746 > Project: Bigtop > Issue Type: New Feature > Components: deployment > Affects Versions: 0.8.0 > Reporter: vishnu gajendran > Assignee: vishnu gajendran > Labels: features > Fix For: 1.0.0 > > Attachments: BIGTOP-1746.patch > > > Currently, during cluster deployment, puppet categorizes nodes as head_node, > worker_nodes, gateway_nodes, standy_node based on user specified info. This > functionality gives user control over picking up a particular node as > head_node, standy_node, gateway_node and rest others as worker_nodes. But, I > woulld like to have more fine-grained control on which deamons should run on > which node. For example, I do not want to run namenode, datanode on the same > node. This functionality can be introduced with the concept of roles. Each > node can be assigned a set of role. For example, Node A can be assigned > ["namenode", "resourcemanager"] roles. Node B can be assigned ["datanode", > "nodemanager"] and Node C can be assigned ["nodemanager", "hadoop-client"]. > Now, each node will only run the specified daemons. Prerequisite for this > kind of deployment is that each node should be given the necessary > configurations that it needs to know. For example, each datanode should know > which is the namenode etc... This functionality will allow users to customize > the cluster deployment according to their needs. -- This message was sent by Atlassian JIRA (v6.3.4#6332)