近一个月在用java调用hdfs文件上传下载,整合kerberos时出现多个错误,最后一个错误如下:
java.io.IOException: Failed on local exception: java.io.IOException: java.lang.IllegalArgumentException: Failed to specify server's Kerberos principal name; Host Details 。
在stackoverflow.com找到了类似错误,新增配置:
conf.set("dfs.namenode.kerberos.principal.pattern", "hdfs/*@BIGDATA.COM");
原因说明:如果您使用的Hadoop版本低于2.6.2,则默认模式属性在hdfs-site.xml文件中不可用,那么您需要手动指定模式属性。