in twill-examples/yarn/src/main/java/org/apache/twill/example/yarn/HelloWorld.java [60:98]
public static void main(String[] args) {
if (args.length < 1) {
System.err.println("Arguments format: <host:port of zookeeper server>");
System.exit(1);
}
String zkStr = args[0];
YarnConfiguration yarnConfiguration = new YarnConfiguration();
final TwillRunnerService twillRunner = new YarnTwillRunnerService(yarnConfiguration, zkStr);
twillRunner.start();
String yarnClasspath =
yarnConfiguration.get(YarnConfiguration.YARN_APPLICATION_CLASSPATH,
Joiner.on(",").join(YarnConfiguration.DEFAULT_YARN_APPLICATION_CLASSPATH));
List<String> applicationClassPaths = Lists.newArrayList();
Iterables.addAll(applicationClassPaths, Splitter.on(",").split(yarnClasspath));
final TwillController controller = twillRunner.prepare(new HelloWorldRunnable())
.addLogHandler(new PrinterLogHandler(new PrintWriter(System.out, true)))
.withApplicationClassPaths(applicationClassPaths)
.withBundlerClassAcceptor(new HadoopClassExcluder())
.start();
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
try {
Futures.getUnchecked(controller.terminate());
} finally {
twillRunner.stop();
}
}
});
try {
controller.awaitTerminated();
} catch (ExecutionException e) {
e.printStackTrace();
}
}