1.非安全模式
在非安全模式下,访问hdfs文件系统的客户端代码如下:
package ntci.hadoop.hdfs.test;
import org.apache.hadoop.classification.InterfaceAudience;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.security.UserGroupInformation;
import java.io.*;
import java.security.PrivilegedAction;
import java.security.PrivilegedExceptionAction;
/**
* Created by ctt on 2017/4/9.
*/
public class HDFSClient {
public static void main(String[] args) throws IOException {
try {
Configuration conf = new Configuration();
conf.set("fs.defaultFS","hdfs://hadoop-m-21:8020");
conf.set("fs.hdfs.impl",org.apache.hadoop.hdfs.DistributedFileSystem.class.getName());//如果在pom.xml中配置了如下依赖,可省
// <groupId>org.apache.hadoop</groupId>
// <artifactId>hadoop-hdfs</artifactId>
// <version>2.6.0</version>
UserGroupInformation.setConfiguration(conf);//初始化用户组信息,并设置用户权限信息。即对UGI设置静态配置,特别是设置安全认证机制和组查找服务。
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()