I'm working on a secure cluster that has authentication enabled for the YARN services.
In my Apex setup, I have: <property> <name>apex.attr.STRAM_HTTP_AUTHENTICATION</name> <value>DISABLE</value> </property> "DISABLE - Disable authentication for web services." That's not what happens though, it rather follows the Hadoop setting and fails because in this case Kerberos is enabled and the keytab not configured. I think that if a DISABLE option is advertised, then it should turn off the authentication that gets inherited from the node manager environment. Configuration config = getConfig(); if (SecurityUtils.isStramWebSecurityEnabled()) { config = new Configuration(config); config.set("hadoop.http.filter.initializers", StramWSFilterInitializer.class.getCanonicalName()); } else { if (!"simple".equals(config.get(SecurityUtils.HADOOP_HTTP_AUTH_PROP))) { LOG.warn("Found http authentication {} but authentication was disabled in Apex.", config.get(SecurityUtils.HADOOP_HTTP_AUTH_PROP)); config = new Configuration(config); // turn off authentication for Apex as specified by user config.set(SecurityUtils.HADOOP_HTTP_AUTH_PROP, "simple"); } } It will also help tremendously when warning from jetty are not swallowed due to org.mortbay.log.Log.setLog(null); Otherwise there is just a "handler failed" message and the user has no way to know what went wrong without hacking the Apex code? Thanks, Thomas