(3)HDFS分布式文件系统

HDFS:Hadoop Distributed File System

实现目标:

  1. 兼容廉价的硬件设备。 
  2. 流数据读写 。就是大量数据、全部数据的读写,而不是访问某个部分的子集。
  3. 面对大数据集 。
  4. 简单的文件模型。对文件进行简化,牺牲相关的性能,获取批量处理的特性。只允许追加,不允许修改。 
  5. 强大的跨平台兼容性。因为JAVA。

缺点:

  1. 不适合低延迟数据访问 。因为设计上是批量读大部分或者全部数据。而不是精确定位到某个地方。(Hbase满足随机读写特性。实时性高。) 
  2. 无法高效存储大量小文件 。因为索引结构。
  3. 不支持多用户写入及任意修改文件。只能追加,不能修改。

块:

HDFS默认一个块64MB,一个文件被分成多个块,以块作为存储单位。块的大小远远大于普通文件系统,可以最小化寻址开销。

  1. 支持大规模文件存储:文件以块为单位进行存储,一个大规模文件可以被分拆成若干个文件块,不同的文件块可以被分发到不同的节点上,因此,一个文件的大小不会受到单个节点的存储容量的限制,可以远远大于网络中任意节点的存储容量。
  2. 简化系统设计:首先,大大简化了存储管理,因为文件块大小是固定的,这样就可以很容易计算出一个节点可以存储多少文件块;其次 ,方便了元数据的管理,元数据不需要和文件块一起存储,可以由其他系统负责管理元数据。
  3. 适合数据备份:每个文件块都可以冗余存储到多个节点上,大大 提高了系统的容错性和可用性。

名称节点是主节点。数据节点是从节点。

冷备份:就是慢慢恢复

热备份:立即恢复。 

安装

1.要使用 HDFS,第一次使用时首先需要在 HDFS 中创建用户目录:(这个好像是必须的。以后创建删除查找都会以这个路径为相对路径,见例子)。“-p”表示如果是多级目录,则父目录和子目录一起创建,这里“/user/hadoop”就是一个多级目录,因此必须使用参数“-p”,否则会出错。

./bin/hdfs dfs -mkdir -p /user/hadoop
./bin/hdfs dfs -mkdir input
./bin/hdfs dfs -mkdir output
./bin/hdfs dfs -ls

结果如下所示:(已经向input文件里面存储过文件。)

          

2.在创建个input目录时,采用的是相对路径形式,例如创建一个input目录(第一个命令),它在HDFS中的完整路径是“/user/hadoop/input”。如果要在HDFS的根目录下创建一个名称为input的目录,则需要使用第二个命令。

./bin/hdfs dfs –mkdir input
./bin/hdfs dfs –mkdir /input

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值