一、HDFS概述
HDFS(Hadoop Distrbated File System)
是一个多台机器管理文件的系统.简称:分布式文件系统
只适合一次写入,多次读取的业务场景.
不支持文件修改(但可追加内容append)
二、HDFS的优缺点
- 1.高容错性
- 数据会分块并保存在多个副本中
- 当某一个块出现问题,它会通过副本自动修复.
- 2.适合处理大数据
- 体积规模:GB\TB\EB级别
- 数量规模:文件数量可达百万级
- 3.可构建在廉价机器上
- 体积规模:GB\TB\EB级别
-
1.不适合低延迟数据访问(毫秒级)
-
2.无法高效的对小文件进行存储
-
3.不支持并发写入,和文件修改(但可追加)
离线处理
- A.管理HDFS的名称空间
- B.配置副本策略
- C.管理每个块(Block)的映射信息
- D.处理客户端的读写请求
2. DataNode
slave 从,NN下达命令,DN
- 存数据
- 负责执行nn下达的读写命令
- 文件的切分
- 与NN交互,获得文件位置
- 与DN交互,读写数据
- 提供了SHELL命令,操作HDFS
4.SecondaryNameNode
- 定期合并FSimage和edits
- 在NN死掉后,可辅助恢复NN
HDFS中的文件在物理机上是分块存储的,block的大小可以通过(block.blocksize)来设置.
默认:Hadoop2.x中是128M. 1.x是64M
因寻址时间与传输速率而定.
HDFS块设置大小,寻址时间会增加.
HDFS块设置太大,传输时间就会增加,处理也会变慢
HDFS块的大小设置,主要取决于硬盘.
hadoop fs 命令
hdfs dfs 命令
例如:hadoop fs -put s d
通过hadoop fs -help 查看所有命令
分为三类:
- A.本地 -> HDFS
- B.HDFS->HDFS
- C.HDFS-> 本地
3.本地 to HDFS
put命令 上传本地文件
copyFromLocal 上传本地文件
moveFromLocal 剪切
appendToFile 追加
cp 复制
mv 移动
chown 更改所有者
chgrp 更改所属组
chmod 更改权限
mkdir 创建文件夹
du disk usage 显示文件大小
df disk free 显示文件系统磁盘使用情况
cat 查看打印内容
rm 删除
tail 显示末尾
head 显示头部 cat | head -n 2
setrep 设置副本数 副本数不能超过dn节点数
get 下载
getmerge 合并下载
copyToLocal 下载
#格式
alias ll='ls -lt'
#将hadoop fs 设置一个别名
alias hf='hadoop fs'
#删除别名
unalias 别名
用户的bashrc与系统bashrc的位置
#user
cd ~/.bashrc
#sys
cd /etc/.bashrc