[ 
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)

Reply via email to