hdfs是大名鼎鼎的hadoop的两大基础组件之一:分布式文件系统,为hadoop分布式系统提供存储服务,是google三大篇中gfs的开源实现;
- 支持超大文件(单个文件大,且总存储空间为PB级别);
- 流式数据访问,基于一次写入、多次读取模型设计,;
- 廉价硬件即可;
- 延迟较大;
- 小文件支持不好;
- 不支持多写;
- 不支持随机写;
- namenode无法扩展;
- 块(Block):hdfs 上的文件被分成大小(默认:64MB)相等的块,作为hdfs的基本存储单元。大块可减小namenode内存占用,减小寻址开销;
- namenode:
- datanode:
1
2
3
4
5
6
7
| # hdfs write test
$HADOOP_HOME/bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.6-tests.jar TestDFSIO -write -nrFiles 100 -fileSize 100MB -bufferSize 67108864
# hdfs read test
$HADOOP_HOME/bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.6-tests.jar TestDFSIO -clean #
$HADOOP_HOME/bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.6-tests.jar TestDFSIO -read -nrFiles 100 -fileSize 100MB -bufferSize 67108864
|