一般情况下,我们想要使用java客户端访问hdfs集群,只需要客户端指定hdfs namenode地址即可;但是开启了kerberos验证的hdfs集群则不行,需要先通过kerberos验证后方可访问hdfs集群。
我创建的是maven项目,pom.xml文件的内容如下:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
org.example
untitled6
1.0-SNAPSHOT
org.apache.hadoop
hadoop-hdfs
2.5.2
org.apache.hadoop
hadoop-client
2.5.2
org.apache.hadoop
hadoop-common
2.5.2
访问不开启kerberos验证的hdfs集群的代码示例:
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.security.UserGroupInformation;
import java.io.IOException;