An unmanaged AM has no relation to the language being used. An unmanaged AM is an AM that is launched outside of the YARN cluster i.e. manually launched elsewhere and not by the RM ( using the application submission context provided by a client). It was built to be a dev-tool for application developers to be able to test their AMs ( attach debuggers, etc ) and is not meant to be something that is used in production.
As for other languages, all interactions with the YARN components is via protobuf-based RPC and you could use the appropriate language binding for protobuf. Take a look at https://github.com/hortonworks/gohadoop - this has code for a YARN app written in Go. There is still some work left to get this to work seamlessly for all language types but the go code should point you in the right direction.
On Nov 21, 2013, at 6:18 AM, Krishna Kishore Bonagiri wrote:
> I have seen in comments for code in UnmanagedAMLauncher.java that AM can be in any language. What does that mean? Can AM be written in C++ language? If so, how would I be able to be connect to RM and how would I be able to request for containers? I mean what is the interface doing these things? Is there a sample code/example somewhere to get an idea about how to do it?