Finally I stumbled on the constant
static final String HADOOP_USER_NAME = "HADOOP_USER_NAME";`
in the UserGroupInformation class
.
Setting this either as an environment variable, as a Java system property on startup (using -D
) or programmatically with System.setProperty("HADOOP_USER_NAME", "hduser");
makes Hadoop use whatever username you want for connecting to the remote Hadoop cluster.