您的位置:首页 > 运维架构

HDFS(hadoop分布式文件系统)--------总结

2014-03-04 13:53 288 查看
Distributed File System:(分布式文件系统)
由来:随着数据量的越来越多,在一个操作系统管辖的范围存不下了,那么就需要分配到更多的操作系统管理的磁盘中,但是这样不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件系统。

1.是一种允许文件通过网络在多台主机上分享的文件系统,可以让多机器上的多用户分享文件和存储空间。

2.通透性:让实际上是通过网络访问文件的动作,由程序和用户看来,就像是访问本地的磁盘。

3.容错:即使系统中有的节点脱机,系统整体上还是可以持续运作并且不会有数据丢失。

4.分布式文件有很多,hdfs只是其中的一种,

5.适用于一次写入,多次查询的情况。不支持并发写的情况,不适合小文件。

-----------------------HDFS--------------------

1.HDFS中常用shell
1. hadoop fs –lsr /:递归查看hdfs根目录下的内容2. hadoop fs –mkdir /d1:在hdfs上创建文件夹/d13. hadoop fs –put /root/install.log /d1:将linux上文件上传到hdfs特定路径(若文件以存在,则提示已经存在,不会覆盖,若目标路径不存在,则会生成一个文件,而不是文件夹)4. hadoop fs –get /d1/install.log .:路径1,hdfs的源路径,路径2,linux特定路径从hdfs下载到linux下的特定目录5. hadoop fs –text /d1/install.log :直接查看hdfs上的文件6. hadoop fs -rm /d1/install.log:删除文件,若文件夹下还有内容:hadoop fs –rmr d1/7. hadoop fs:查看帮助8. hadoop fs –help ls\9. 缺省目录 hadoop fs -ls hdfs://hadoop:9000(“/”)
-----------------------------------------------两大核心-------------------------------------------------------1.NameNode: 1.是整个文件系统的管理节点。
2.维护整个文件系统的目录结构树。
3.接收用户的操作请求。
4.存放HDFS文件系统的元信息(文件的目录结构,具体的文件由哪些block组成),存放在fsimage和edits中。
5.存放了文件与block块的映射关系(filename-------block)----------存放在磁盘中------fsimage
6.存放了block块与物理机的映射关系(block---------machine):在启动NameNode时创建,存放在内存中,这样可以加快访问速度。
7.Fsimage(文件系统的镜像文件):存放的是nameNode的核心数据,可以配置dfs.name.dir保证冗余,达到安全

<name>dfs.name.dir</name>
<value>${hadoop.tmp.dir}/dfs/name</value>
8.edits:dfs.name.edits.dir value为存放edits的位置。
保存文件上传的事务过程。其中存放的是NameNode对文件系统的修改信息。

2.DataNode(多个) 1.提供真实数据的存储,但是文件的机构和文件的元信息都是存放在NameNode中。
2.Block块:划分大了会造成资源的浪费,划分小了,会频繁的进行I/O操作
Block块是最基本的存储单位。默认是64M。
3.replication:多副本,冗余,保证数据安全,默认是3个

3.SecondaryNameNode: 1.执行过程:从NameNode上下载元数据(fsimage+edits),然后把二者进行合并,生成新的fsimage,在本地保存一份,并将一份推送到NameNode,同时重置etits。 这样就避免edits膨胀,保证了namenode的效率,因为每次namenode启动都会读取edits文件内容, 2.SecondaryNameNode只存放的是合并后的fsimage,但是这样不安全,因为可能有的edits并未合并。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: