HDFS
hadoop:适合一次写入,多次读出,不能修改的操作
(1)优点:
(1)高容错
数据自动保存多个副本,通过增加副本的形式,提高容错性
若一个符本丢失以后,可以自动回复
(2)适合处理大数据
数据规模:GB,TB甚至PB
文件规模:百万
(3)可构建在廉价机器上
(2)缺点:
(1)不适合低延时的数据访问,如毫秒级
(2)无法高效的对大量小文件处理
(3)不支持并发写入,文件修改
一个文件只能有一个写,不允许多个线程同时写
仅支持数据append,不支持文件的随机修改
(3)HDFS架构
NameNode(nn):就是Master
(1)管理HDFS的名称空间
(2)管理副本策略
(3)管理数据块(BLOCK)的映射信息
(4)处理客户端的请求
DataNode(dn):就是Slave,NameNode下达命令,DataNode执行实际的操作
(1)存储实际的数据块
(2)执行数据块的读写操作
Client:就是客户端
(1)文件切分,文件上传HDFS时,Client将文件切分成一个个block,然后上传
(2)与NameNode交互,获取文件的位置信息
(3)与DataNode交互,读取或者写入数据
(4)提供命令管理HDFS,比如NameNode格式化
(5)提供命令访问HDFS,比如对HDFS增删改查操作
Secondary NameNode:
(4)blocks
HDFS块的大小由dfs.blocksize来决定,默认在hadoop2.x是128M,老版本为64M
(1)如果块太小,增加寻址时间
(2)如果块太大,从磁盘传输的时间会大于寻址时间,处理数据慢
如果寻址时间为10ms
如果寻址时间是传输时间的1%,即传输时间为10ms/0.01=1000ms=1s,则为最佳状态
目前磁盘的传输时间为100MB/s
(5)shell
本地=>HDFS
put --(复制)
copyFromLocal --与put相同(复制) hadoop fs -copyFromLocal hdfs /
moveFromLocal --(剪切)
appendToFile
HDFS=>HDFS
cp hadoop fs -cp /etc /etc2
mv
chown
chgrp
chmod
mkdir
du
cat
rm hadoop fs -rm -r hdfs://hadoop102:9000/*
setrep hadoop fs -setrep 5 /README.txt
HDFS=>本地
get
getmerge --合并下载 hadoop fs -getmerge /test/* merge.txt
copyToLocal --与get相同
posted on 2020-11-10 17:34 happygril3 阅读(78) 评论(0) 收藏 举报
浙公网安备 33010602011771号