Hadoop的HDFS
历史记录查看
- 启动历史记录服务
mapred --daemon start historyserver
jps
## 拓展 查看端口对应的程序是否启动
lsof -i:端口
web页面访问
9870 hdfs
8088 yarn
19888 历史记录
拓展–DNS解析
202.108.22.5 www.baidu.com
当我们使用域名访问网站时会通过dns服务器将域名转化为ip,最终通ip地址访问网站
本机hosts文件可以完成域名解析工作
windos的hosts文件位置
C:\Windows\System32\drivers\etc
垃圾桶机制
- 配置core-site.xml
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
# 时间单位分钟
- 将node1中配置好的文件拷贝到其他机器
scp /export/server/hadoop-3.3.0/etc/hadoop/core-site.xml node2:/export/server/hadoop-3.3.0/etc/hadoop/core-site.xml
- 重启hadoop服务
stop-all.sh
start-all.sh
- 在shell终端中进行测试
hdfs dfs -rm /itcast/zookeeper.out
# 垃圾桶所在位置
/user/root/.Trash/Current/
# 强制删除
hdfs dfs -rm -skipTrash /itcast/zookeeper.out
HDFS服务
是hadoop中的一个服务
分布式文件存储服务
层级目录结构 /itcast/zookeeper.out
HDFS设计目标
- 故障检测和自动恢复功能
- 存储大文件数据
- 高吞吐量
- 一次写入多次读取
- 兼容性
HDFS的特性
- 主从管理结构
- 主服务 namenode 所有请求都要经过namenode 负责管理从服务datanode
- 从服务 datanode 负责数据存储
- 块存储(block)
- 在磁盘上开辟一块一块空间存储数据,每一块存储空间大小是128m
- 副本机制
- 存储数据时不止存储一份,会根据指定副本数量存储相应个数据的数据内容,默认情况副本数量是3
- 一次写入多次读取
- 命名空间
- 层级目录结构 /itcast/zookeeper.out
- 存储数据时需要常见一个目录空间
- 可以通过命名空间对数据进行区分 /user/ /order/
HDFS的核心服务
- NameNode
- 负责管理datanode
- 所用请求交给namenode处理
- 保存了元数据
- 元数据:
- 文件数据 文件路径,文件大小,文件名称,文件权限
- 块数据 块在磁盘上的位置,块所属的datanode
- datanode数据 datanode服务的状态,所有在服务器,
- 元数据保存在内存上的
- 持久化:将内存上的元数据,写入到磁盘上
- 元数据:
- namenode进行运行在内存较大的服务器上
- 单点故障:一旦namenode出现问题,整个hdfs服务停止运行
- datanode
- 负责数据存储
- 记录存储块的位置
- 定时的将信息同步给namenode
- 状态 心跳机制 默认3s
- 块数据 默认6h
保存数据流程
获取数据流程
读取数据和写入数据第一步请求namenode,获取相关datanode信息
读数据 从返回的就近的运行状态的datanode中获取相应信息,如果多块数据,依次读取每块数据后同意合并多块数据存入本地文件
写数据 将数据写入就近机器,多个副本按照顺序依次写入数据,每次传递写入64kb数据
一个块内只有一个文件信息
客户端操作指令
hadoop fs 可以操作所有文件
# 查看hdfs
hadoop fs -ls /
# 查看系统本地文件
hdaoop fs -ls file:///
hdfs dfs 只能操作hdfs上的文件
hddf dfs 参数
增 删 查
put 上传保存
mkdir 创建目录
rm 删除
- 文件 rm
- 目录 rm -r
rmr和rm -r作用一样
get 下载
getmerge 合并下载
ls 查看路径
cat 查看文件内容
tail 查看文件后面内容
head 查看文件前面内容
cp 拷贝
mv 移动
setrep 设置文件的副本数量