Acceso a HDFS en Cloudera con Java y Kerberos Keytab desde Windows
Estoy tratando de conectarme a mi instancia HDFS que se ejecuta en Cloudera. Mi primer paso fue habilitar Kerberos y crear Keytabs (como se muestraaquí)
En el siguiente paso, me gustaría autenticarme con una tabla de claves.
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://cloudera:8020");
conf.set("hadoop.security.authentication", "kerberos");
UserGroupInformation.setConfiguration(conf);
UserGroupInformation.loginUserFromKeytab("hdfs@CLOUDERA", "/etc/hadoop/conf/hdfs.keytab");
FileSystem fs = FileSystem.get(conf);
FileStatus[] fsStatus = fs.listStatus(new Path("/"));
for (int i = 0; i < fsStatus.length; i++) {
System.out.println(fsStatus[i].getPath().toString());
}
Falla con el siguiente error
java.io.IOException: error de inicio de sesión para hdfs @ CLOUDERA desde keytab /etc/hadoop/conf/hdfs.keytab: javax.security.auth.login.LoginException: no se puede obtener la contraseña del usuario
La pregunta es: ¿cómo manejo correctamente la tabla de teclas? ¿Tengo que copiarlo en mi máquina local?