当前位置: > Linux集群 > Hadoop >

hadoop包简介-HDFS的概念

时间:2015-10-08 11:22来源:linux.it.net.cn 作者:IT

Hadoop的package的介绍:

 

Package

Dependences

tool

提供一些命令行工具,如DistCparchive

mapreduce

HadoopMap/Reduce实现

filecache

提供HDFS文件的本地缓存,用于加快Map/Reduce的数据访问速度

fs

文件系统的抽象,可以理解为支持多种文件系统实现的统一文件访问接口

hdfs

HDFSHadoop的分布式文件系统实现

ipc

一个简单的IPC的实现,依赖于io提供的编解码功能

io

表示层。将各种数据编码/解码,方便于在网络上传输

net

封装部分网络功能,如DNSsocket

security

用户和用户组信息

conf

系统的配置参数

metrics

系统统计数据的收集,属于网管范畴

util

工具类

record

根据DDL(数据描述语言)自动生成他们的编解码函数,目前可以提供C++Java

http

基于Jetty的HTTP Servlet,用户通过浏览器可以观察文件系统的一些状态信息和日志

log

提供HTTP访问日志的HTTP Servlet


 

数据块

每个磁盘都有默认的数据块大小,这是磁盘进项数据读/写的最小单位。

HDFS(Hadoop Distributed File System)默认的最基本的存储单位是64M的数据块(可设置)。

和普通文件系统相同的是,HDFS中的文件是被分成64M一块的数据块存储的。

不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。

Block大,可以减少寻址所消耗的时间,使得硬盘传输数据的时间远大于寻址时间。但是如果block过大也会导致性能下降,那是因为一个mapper通常处理一个block的数据,待处理数据总量不变的情况下,block越大,mapper的数量就越少,导致并发度下降,使得性能下降。

namenode和datanode

namenode用来管理文件系统的命名空间

其将所有的文件和文件夹的元数据保存在一个文件系统树中。

这些信息也会在硬盘上保存成以下文件:命名空间镜像(namespace image)及修改日志(edit log)

其还保存了一个文件包括哪些数据块,分布在哪些数据节点上。然而这些信息并不存储在硬盘上,而是在系统启动的时候从数据节点收集而成的。

datanode是文件系统中真正存储数据的地方。

客户端(client)或者元数据信息(namenode)可以向数据节点请求写入或者读出数据块。

其周期性的向元数据节点回报其存储的数据块信息。

 


(责任编辑:IT)
------分隔线----------------------------