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

Distributed File System:(分布式文件系统)node

       由来:随着数据量的愈来愈多,在一个操做系统管辖的范围存不下了,那么就须要分配到更多的操做系统管理的磁盘中,可是这样不方便管理和维护,所以迫切须要一种系统来管理多台机器上的文件,这就是分布式文件系统。
linux


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

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

       3.容错:即便系统中有的节点脱机,系统总体上仍是能够持续运做而且不会有数据丢失。
网络

       4.分布式文件有不少,hdfs只是其中的一种,
并发

       5.适用于一次写入,屡次查询的状况。不支持并发写的状况,不适合小文件。
分布式


       -----------------------HDFS--------------------
ide

1.HDFS中经常使用shelloop

1. hadoop fs lsr /:递归查看hdfs根目录下的内容spa

2. hadoop fs mkdir /d1:hdfs上建立文件夹/d1

3. hadoop fs put  /root/install.log  /d1:linux上文件上传到hdfs特定路径(若文件以存在,则提示已经存在,不会覆盖,若目标路径不存在,则会生成一个文件,而不是文件夹)

4. hadoop fs get /d1/install.log  .:路径1hdfs的源路径,路径2linux特定路径

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组成),存放在fsp_w_picpath和edits中。

               5.存放了文件与block块的映射关系(filename-------block)----------存放在磁盘中------fsp_w_picpath

               6.存放了block块与物理机的映射关系(block---------machine):在启动NameNode时建立,存放在内存中,这样能够加快访问速度。

        7.Fsp_w_picpath(文件系统的镜像文件):存放的是nameNode的核心数据,能够配置dfs.name.dir保证冗余,达到安全

                   <name>dfs.name.dir</name>

                   <value>${hadoop.tmp.dir}/dfs/name</value>

        8.editsdfs.name.edits.dir value为存放edits的位置。

       保存文件上传的事务过程。其中存放的是NameNode对文件系统的修改信息。



2.DataNode(多个)

   1.提供真实数据的存储,可是文件的机构和文件的元信息都是存放在NameNode中。

   2.Block块:划分大了会形成资源的浪费,划分小了,会频繁的进行I/O操做

               Block块是最基本的存储单位。默认是64M。

   3.replication:多副本,冗余,保证数据安全,默认是3个


3.SecondaryNameNode:

   1.执行过程:从NameNode上下载元数据(fsp_w_picpath+edits),而后把两者进行合并,生成新的fsp_w_picpath,在本地保存一份,并将一份推送到NameNode,同时重置etits。

       这样就避免edits膨胀,保证了namenode的效率,由于每次namenode启动都会读取edits文件内容,

   2.SecondaryNameNode只存放的是合并后的fsp_w_picpath,可是这样不安全,由于可能有的edits并未合并。

相关文章
相关标签/搜索