HDFS(Hadoop Distributed File System)
概述
特点:一次写入,多次读出,且不支持文件的修改
优点
- 高容错性:不同节点保存多个副本
- 某个副本丢失以后,它可以自动恢复
- 适合处理大数据
- 可以构建在廉价机器上,通过多副本机制,提高可靠性
缺点
- 不适合低延时数据访问
- 无法高效的对大量小文件进行存储
- 不支持并发写入、文件随机修改。一个文件只能有一个写,仅支持append,不支持文件的随机修改
HDFS组成
hadoop构件图
包括三个部分
- NN:最重要的部分,保存元文件,并且负责配置副本,处理客户端的读写请求。包工头
- DN:存储实际的数据块,实际执行数据块的读写操作 。 工人
- 2NN:辅助NameNode,在紧急情况下,辅助恢复NameNode。 秘书,
HDFS文件快大小
通过设置dfs.blocksize设置,默认128MB。这个设置其实是与磁盘的读写速度相关
- 设置太小,副本太多寻址时间长
- 设置太大,从磁盘传输数据的时间很长,导致程序处理数据的时间变慢
Shell操作
Hadoop对文件的操作
Hadoop 其实和linux一样。
cp
mv
chown
du disk usage
df 查看文件使用情况
从local到hdfs
copyFromLocal 和 put无区别 moveFromLocal则是剪切
从hdfs到local
get,copyToLocal
merge,把某个文件夹里的内容合并发送到本地
setrep 设置副本数,副本数小于datanode,当设置过大时,没有意义。不会再一个datanode上存多个副本
HDFS的API操作
使用时看文档即可