You are right. At the moment, you do need to pass all of them in to your app master for it to register. I will file a jira to simplify this to end up with something along the lines where the RM implicitly passes such information to the app master without the client explicitly setting it ( the AM will need to consume the info for registration though).
On Sep 20, 2011, at 2:26 PM, Chris Riccomini wrote:
> Hey Guys,
> Sorry to bug again, but I think it's best to get this stuff into the mail archives.
> I want to confirm that I'm starting my ApplicationMaster in the "proper" way.
> Right now, my client is setCommand'ing this:
> "java -cp './package/*' kafka.yarn.ApplicationMaster " + streamerClass + " " + tasks + " "
> + "1>" + ApplicationConstants.LOG_DIR_EXPANSION_VAR + "/stdout "
> + "2>" + ApplicationConstants.LOG_DIR_EXPANSION_VAR + "/stderr"
> It seems to me that my ApplicationMaster needs an appId, appAttemptId, and clusterTimestamp in order to register with the ResourceManager. The only way that I see to do this is to pass it (via the client) as the first three params to my kafka.yarn.ApplicationMaster. I recall Arun mentioning that not all of this is required, but it seems to me (based on the API) that it is.
> Should I be putting the three RM params after the kafka.yarn.ApplicationMaster param in my setCommand?