分布式文件系统,运行于大型商用机集群
流式数据访问,一次写入,多次读取是最高效的访问模式。
HDFS中块block的大小默认64M,很多情况下HDFS使用128M的块设置。
块默认3个副本 “数据的完整性”
hadoop fsck / -files -blocks
namenode 没有namenode 文件系统将无法使用
datanode 定期向namenode发送它们所存储的块的列表
namenode 安全机制
- 备份元数据持久化文件
- 运行一个辅助namenode
文件系统镜像与编辑日志
fs.default.name 用于设置Hadoop的默认文件系统
hdfs://localhost/
默认端口:8020
dfs.replication=1
- hadoop fs -help 获取所有命令的详细帮助
- %hadoop fs -copyFromLocal qqqq.txt hdfs://localhost/user/tom/qqqqq.txt 将本地文件复制到HDFS
- %hadoop fs -copyFromLocal qqqq.txt /user/tom/qqqqq.txt
核心配置文件 core-site.xml
- %hadoop fs -copyToLocal /user/tom/qqqqq.txt qqqq.copy.txt
- %md5 /user/tom/qqqqq.txt qqqq.copy.txt
- hadoop fs -mkdir books
- hadoop fs -ls
HDFS中的文件访问权限,RWX, 超级用户是namenode进程的标识
Hadoop 文件系统,抽象的文件系统概念,HDFS只是其中的一个实现。
org.apache.hadoop.fs.FileSystem定义了Hadoop中的一个文件系统接口
- hadoop fs -ls file:///
- FileSystem
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(uri),conf)
列出文件 FileStatus[] listStatus(Path f)throws IOException
一致模型:HDFS reader无法看见当前正在写入的数据块