Liunx下的HDFS安全模式:
HDFS启动的时候会先进入安全模式:
- 安全模式下,主要是读取存储在本地的文件
- 安全模式下,不允许对HDFS进行操纵
- 当读取完所有数据之后,安全模式会自动关闭
开启HDFS模式
第一步:在/opt/modules/hadoop-2.7.3/etc/hadoop找到core-site.xml和hdfs-site.xml下载下来,下载到hadoop项目的main下resources中
第二步:编写HFDS文件:
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import java.io.IOException;
/**
* 需要操作HDFS,需要找到NameNode
* NameNode是一个服务
* 主机名+端口
*/
public class HFDSDemo {
public static void main(String[] args) throws IOException {
//读取配置文件:从右往左写,从下往上写
Configuration configuration=new Configuration();
//获取HDFS文件系统
//
FileSystem hdfs=FileSystem.get(configuration);
//需要读取文件的路径
Path path = new Path("/datas/input/input.data");
//读取文件
FSDataInputStream fsDataInputStream=hdfs.open(path);
IOUtils.copyBytes(fsDataInputStream,System.out,4096,false);
}
}
第三步:运行成功:
错误解析:
问题一:无法访问
解决问题:你忘记了启动。
问题二:找不到文件
解决问题:在50070下找到文件路径