hdfs笔记

1、什么是分布式文件系统?

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

2、为什么会有分布式文件系统?

数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 。

3、分布式文件系统的优势

1)通透性

2)容错性(因为有副本机制,即使有些节点脱机,整体也不会造成数据损失)

3)不适合小文件(因为hdfs每一个文件都会在namenode中生成对应文件的源信息,如果小文件过多时,会导致源文件过大,namenode的压力太大。)

HDFS:

分为Namenode和Datanode

1、Namenode

维护整个文件系统的文件目录树,文件、目录的源信息和每个文件对应的数据列表。接收用户的操作请求。

文件包括:

1):fsimage:元数据镜像文件,存储某一时段的NameNode内存源数据的信息

2):edits:操作日志文件

3):fstime:文件最后一次的修改时间

2、Datanode

以文件块(block块)的形式存储真实数据。

block块:

默认128MB,最大128M,如果是200M的文件,会分成一个128M和一个72M的文件。

Replication:

为了安全,采用副本机制。默认副本为3个

3、dfsadmin

1)bin/hdfs dfsadmin -setQuota 10 lisi

限制用户最大的文件(目录)数,方便多用户操作

2)安全模式:bin/hdfs dfsadmin –safemode

4、副本存放策略

第一个副本放在客户端所在的datanode节点上(如果客户端不在集群范围内,则这第一个节点是随机选的,不过系统会选择负载较少且离得近的节点)

第二个副本放在与第一个副本不同机架的任意节点上

第三个副本与第二个副本同一机架,任意节点上

5、hdfs操作命令:

1)上传文件:

bin/hdfs dfs -put 文件名 hdfs://主机名或ip:9000/

相当于将文件传到hdfs上

2)下载文件:

bin/hdfs dfs -get hdfs://主机名或ip:9000/aa cd ./

下载到当前目录下

3)移动或重命名(远程到远程)

bin/hdfs dfs -mv hdfs://主机名或ip:9000/aa hdfs://主机名或ip:9000/tmp

6、hadoop操作文件命令

#hadoop fs -ls /  查看HDFS根目录
#hadoop fs -mkdir /test 在根目录创建一个目录test
#hadoop fs -mkdir /test1 在根目录创建一个目录test1
#echo -e ‘hadoop second lesson‘ >test.txt
#hadoop fs -put ./test.txt /test
或#hadoop fs -copyFromLocal ./test.txt /test
#cd .. 
#hadoop fs -get /test/test.txt . 
或#hadoop fs -getToLocal /test/test.txt .
#hadoop fs -cp /test/test.txt /test1
#hadoop fs -rm /test1/test.txt
#hadoop fs -mv /test/test.txt /test1
#hadoop fs -rmr /test1  
#hadoop fs -appendToFile

时间: 2024-10-03 04:36:05

hdfs笔记的相关文章

29.Hadoop之HDFS集群搭建笔记

0.修改IP,主机名,hosts文件 setup        修改网卡IP service  network  restart        重启网络服务使IP生效 vim /etc/sysconfig/network修改主机名 vim /etc/hosts/修改hosts文件 192.168.126.128 hadoop001 192.168.126.129 hadoop002 192.168.126.130 hadoop003 192.168.126.131 hadoop004 1.安装j

Hadoop读书笔记(四)HDFS体系结构

Hadoop读书笔记(一)Hadoop介绍:http://blog.csdn.net/caicongyang/article/details/39898629 Hadoop读书笔记(二)HDFS的shell操作:http://blog.csdn.net/caicongyang/article/details/41253927 Hadoop读书笔记(三)Java API操作HDFS:http://blog.csdn.net/caicongyang/article/details/41290955

Hadoop读书笔记(三)Java API操作HDFS

Hadoop读书笔记(一)Hadoop介绍:http://blog.csdn.net/caicongyang/article/details/39898629 Hadoop读书笔记(二)HDFS的shell操作:http://blog.csdn.net/caicongyang/article/details/41253927 JAVA URL 操作HDFS OperateByURL.java package hdfs; import java.io.InputStream; import jav

Hadoop学习笔记_7_分布式文件系统HDFS --DataNode体系结构

分布式文件系统HDFS --DataNode体系结构 1.概述 DataNode作用:提供真实文件数据的存储服务. 文件块(block):最基本的存储单位[沿用的Linux操作系统地概念].对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号,划分好的每一个块称一个Block. 与Linux操作系统不同的是,一旦上传了一个小于Block大小的文件,则该文件会占用实际文件大小的空间. 2.进入hdfs-default.xml <prope

Hadoop2.6.0学习笔记(三)HDFS架构

鲁春利的工作笔记,谁说程序员不能有文艺范? HDFS Architecture见: http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html 或下载的tar包解压后的 hadoop-2.6.0/share/doc/hadoop/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html 官方给出的架构为:

Hadoop2.6.0学习笔记(七)HDFS读写流程

鲁春利的工作笔记,谁说程序员不能有文艺范? HDFS读文件解析 HDFS写文件解析

Hadoop学习笔记_5_分布式文件系统HDFS --shell操作

分布式文件系统HDFS --shell操作 分布式文件系统[Distributed File System]概述 数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 . 分布式文件系统特点: 是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间. 通透性.让实际上是通过网络来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一般

Hadoop学习笔记_6_分布式文件系统HDFS --NameNode体系结构

分布式文件系统HDFS --NameNode体系结构 NameNode 是整个文件系统的管理节点. 它维护着整个文件系统的文件目录树[为了使得检索速度更快,该目录树放在内存中], 文件/目录的元信息和每个文件对应的数据块列表. 接收用户的操作请求. Hadoop确保了NameNode的健壮性,不容易死亡.文件目录树以及文件/目录的元信息等归根到底是存放在硬盘中的,但是在Hadoop运行时,需要将其加载到内存中. 文件包括: fsimage:元数据镜像文件.存储某一时段NameNode内存元数据信

Hadoop读书笔记(二)HDFS的shell操作

Hadoop读书笔记(一)Hadoop介绍:http://blog.csdn.net/caicongyang/article/details/39898629 1.shell操作 1.1所有的HDFS shell操作命名可以通过hadoop fs获取: [[email protected] ~]# hadoop fs Usage: java FsShell [-ls <path>] [-lsr <path>] [-du <path>] [-dus <path>