Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

Director Config File Role Assignment

avatar
Contributor

I am building a POC cluster on AWS and would like to spread some CM roles across specific workers in  my cluster.

 

In the aws.reference.conf file, I see the sections for master and workers.

Is there a way in workers section that would allow me to specify specific workers so that I can assign different roles to each?

 

I have googled it and can't find a document that lays out the choices for the config file worker section for my use case.

 

Thanks

 

-  rd

1 ACCEPTED SOLUTION

avatar
Expert Contributor

For your reference, here are the contents of reference.conf inside the jar:


#
# Copyright (c) 2013 Cloudera, Inc. All rights reserved.
#

deploymentName: ${?name}" Deployment"
environmentName: ${?name}" Environment"

#
# Generic defaults that apply to all configuration files
#

cloudera-manager {
username: admin
password: admin
}

cluster {
products {
CDH: 5 # latest from 5.x branch
}
}

roles {
HDFS_MASTERS: [NAMENODE, SECONDARYNAMENODE]
HDFS_WORKERS: [DATANODE]
MAPREDUCE_MASTERS: [JOBTRACKER]
MAPREDUCE_WORKERS: [TASKTRACKER]
YARN_MASTERS: [RESOURCEMANAGER, JOBHISTORY]
YARN_WORKERS: [NODEMANAGER]
ZOOKEEPER_MASTERS: [SERVER]
ZOOKEEPER_WORKERS: []
HBASE_MASTERS: [MASTER]
HBASE_WORKERS:[REGIONSERVER]
HIVE_MASTERS: [HIVESERVER2, HIVEMETASTORE]
HIVE_WORKERS: []
OOZIE_MASTERS: [OOZIE_SERVER]
OOZIE_WORKERS: []
HUE_MASTERS: [HUE_SERVER]
HUE_WORKERS: []
IMPALA_MASTERS: [CATALOGSERVER, STATESTORE]
IMPALA_WORKERS: [IMPALAD]
SQOOP_MASTERS: [SQOOP_SERVER]
SQOOP_WORKERS: []
FLUME_MASTERS: []
FLUME_WORKERS: [AGENT]
SOLR_MASTERS: [SOLR_SERVER]
SOLR_WORKERS: []
SPARK_ON_YARN_MASTERS: [SPARK_YARN_HISTORY_SERVER]
SPARK_ON_YARN_WORKERS: []
SENTRY_MASTERS: [SENTRY_SERVER]
SENTRY_WORKERS: []
}

View solution in original post

7 REPLIES 7

avatar
Expert Contributor

Those group names are just by convention. You can create as many groups as you like with whatever names and roles you like. 

 

avatar
Contributor

Great. I will do some playng with that today. Thanks for the reply.

 

-  rd

avatar
Contributor


<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="Generator" content="Microsoft Exchange Server" />
<!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } -->div.PlainText { font-size:120%; font-family:monospace; }P {margin-top:0;margin-bottom:0;}



Jadair,



I am working the the aws.reference.conf file now.



I see the reference to ${roles.HDFS_Workers} in the file. I assume very similar to
${instance.cc28} it signifies a variable defined somewhere else in document. But I can't find it, nor am I having any luck via Google.



Can you point me in the right direction?



- rd







avatar
Expert Contributor

As you say, ${instance.cc28} is a reference within the same config file.

 

The other reference, ${roles.HDFS_Workers}, uses HOCON fallback chaining, and is actually referring to a variable defined in reference.conf inside the jar. The fallback order is the file you provide (in this case aws.reference.conf), then a provider-specific set of defaults that we ship (in this case aws.conf), then a set of global defaults that we ship (reference.conf).

 

Although it is meant to simplify your configuration, you are not the first to be confused by the behavior. We plan to remove it in a future release.

 

avatar
Contributor

Jadair,

 

I have been able to convert the external Hoson callback references to actuall service roles in my config file. I found the role types by looking at the roles assigned in the original cluster by using the Director UI.

 

I was semi-successful with this approach - some of my role type guesses were wrong.

 

Here are the erorrs I am recieving. Is there an easy way to find the valid role types that Director looks for in the config for these roles?

 

Here are the ones that are falling out....

 

* Invalid role type(s) specified. Ignored during role creation:
SPARK_ON_YARN: HISTORYSERVER
HIVE: HIVEMETASTORESERVER
HUE: HUESERVER
OOZIE: OOZIESERVER
HDFS: HTTPFSSERVER
YARN: JOBHISTORYSERVER
 ... done
* Automatically configuring services and roles ... done
* Applying custom configurations of services ... done
* Configuring credentials for S3 access ... done
* Creating Hive Metastore Database ............................ done
* Calling firstRun on cluster Eastern-BD-Cluster ... done
* Suspended due to failure ...
Logging out...

 

Thanks

 

-  rd

avatar
Rising Star
Roland,

Cloudera Director uses the same spec as CM API. You can find the roletypes
that CM (and thereby Director) accepts here:
http://cloudera.github.io/cm_api/apidocs/v10/path__clusters_-clusterName-_services_-serviceName-_rol...

Do keep us posted on how things go and if you run into any further issues.

-Vinithra

avatar
Expert Contributor

For your reference, here are the contents of reference.conf inside the jar:


#
# Copyright (c) 2013 Cloudera, Inc. All rights reserved.
#

deploymentName: ${?name}" Deployment"
environmentName: ${?name}" Environment"

#
# Generic defaults that apply to all configuration files
#

cloudera-manager {
username: admin
password: admin
}

cluster {
products {
CDH: 5 # latest from 5.x branch
}
}

roles {
HDFS_MASTERS: [NAMENODE, SECONDARYNAMENODE]
HDFS_WORKERS: [DATANODE]
MAPREDUCE_MASTERS: [JOBTRACKER]
MAPREDUCE_WORKERS: [TASKTRACKER]
YARN_MASTERS: [RESOURCEMANAGER, JOBHISTORY]
YARN_WORKERS: [NODEMANAGER]
ZOOKEEPER_MASTERS: [SERVER]
ZOOKEEPER_WORKERS: []
HBASE_MASTERS: [MASTER]
HBASE_WORKERS:[REGIONSERVER]
HIVE_MASTERS: [HIVESERVER2, HIVEMETASTORE]
HIVE_WORKERS: []
OOZIE_MASTERS: [OOZIE_SERVER]
OOZIE_WORKERS: []
HUE_MASTERS: [HUE_SERVER]
HUE_WORKERS: []
IMPALA_MASTERS: [CATALOGSERVER, STATESTORE]
IMPALA_WORKERS: [IMPALAD]
SQOOP_MASTERS: [SQOOP_SERVER]
SQOOP_WORKERS: []
FLUME_MASTERS: []
FLUME_WORKERS: [AGENT]
SOLR_MASTERS: [SOLR_SERVER]
SOLR_WORKERS: []
SPARK_ON_YARN_MASTERS: [SPARK_YARN_HISTORY_SERVER]
SPARK_ON_YARN_WORKERS: []
SENTRY_MASTERS: [SENTRY_SERVER]
SENTRY_WORKERS: []
}