HDFS:是一个综合的文件系统抽象,提供了文件系统的各种借口。
HDFS整合了各种众多的文件系统,提供了一个抽象的文件系统
————org.apache.hadoop.fs.FileSystem
org.apache.hadoop.fs.FileSystem的实现
-org.apache.hadoop.fs.LocalFileSystem
Implimen for local filesystem 本地文件系统的实现
(核心)-org.apache.hadoop.hdfs.DistributedFileSystem
Implementation for the DFS system 分布式实现
Hadoop也支持对第三方文件系统的支持。
HDFS的借口
-----标准的JAVA借口
-----Thrift
1. Apache Thrift 是一个软件框架,用来进行可扩展且跨语言的服务的开发。
2. 支持其他语言通过代理的方式访问HDFS。
--------libhdfs-HDFS的C语言库
--------FUSE
1. 用户空间文件系统(Filesystem in Userspace)
2. 支持HDFS作为标准文件系统挂载
------HDFS的接口
---WebDAV(Web-based Distributed Authoring and Versioning)
通过HTTP管理文件系统
-----http://mastername:50070
HDFS的体系结构:
----Block* ————查看文件块命令
-----bin/hadoop fsck / -files -blocks
-----bin/hdfs fsck(*)
实践fsck命令:
安全模式:
nNameNode 在启动时会自动进入安全模式;安全模式的目的是在系统启动时检查各个DataNode 上数据块的有效性,同时根据策略对数据块进行必要的复制或删除。
关闭安全模式
-----bin/hdfs dfsad-safemode leave
把HDFS置于安全模式
-----bin/hdfs dfsadmin -safemode enter
查看HDFS状态报告
-----bin/hdfs dfsadmin -report
运行效果:
get:获取HDFS当前所处于安全模式的状态
HDFS Shell操作基本格式
-----bin/hadoop fs -cmd < args>
-----bin/hdfs dfs -cmd
-----Hadoop文档
-----帮助命令
实践:
会列出所有的命令
bin/hdfs dfs
-help:可以查看某些命令的功能
以前命令的前缀:
bin/hadoop fs
现在命令的前缀
bin/hdfs fs
URI(Uniform Resource Identifier, 统一资源标识符)
定位到HDFS中的特定文件或目录
格式:
- schme://authority/path
—schemi-访问协议
—autority-namenode:port
#列子#
—scheme://authority 设置
—HDFS默认工作目录 /user/$USER
小小的概念:HDFS默认的工作目录:指的是当前用户登录HDFS的登录用户的用户名.
敲黑板:
实践:
-ls / :查看HDFS的更目录
听了课之后,我有几个问题:
- 怎样设置Hadoop的默认工作路径?
- 为什么老师的Hadoop的各种文件夹让我看起来像是自动创建的,这么多文件夹,难道需要我们自己手动去创建吗?,这里可能涉及到一些知识点。
- 在上次课中的那3个配置文件除了在配置基本环境之外,还能配置其他的什么东西吗?
后面,要带着这几个问题,继续学。
此外,还有看了这么多视频,我现在想再回去看一下Hadoop的内部原理,在刚开始看的时候,我感觉看这些基础原理很无聊,学到现在我想去更多地去了解。