目录

一、HDFS概述

二、HDFS特点

三、HDFS集群组成:主从架构---一个主节点,多个从节点

1. NameNode(名称节点 / 主节点)----- HDFS集群的管理者

2. DataNode (数据节点 / 从节点)

3. SecondaryNameNode (第二名称节点)

四、HDFS传输文件方式

五、HDFS常用命令

六、如何实现启动HDFS和yarn的时候不输入密码


一、HDFS概述

Hadoop 分布式文件系统,用于存储文件,与Windows不同的是他是一个分布式的,由很多服务器联合起来实现其功能。

二、HDFS特点

  1. 一次写入,多次读取,写入后只允许删除或查看,不支持文件修改。
  2. HDFS文件读取或写入都比较慢,不适合实时性或者低延时的操作

Notes适合用来做数据分析,不适合做网盘应用。

三、HDFS集群组成:主从架构---一个主节点,多个从节点

1. NameNode(名称节点 / 主节点)----- HDFS集群的管理者

  1. 管理文件存储的元数据

    • 元数据包括了文件的信息、大小。文件的上传时间、作者、文件在那个DataNode上存储
    • 元数据中还包含了 文件义工分成了几个板块,每个板块在那个DataNode上存储着
    • 但是 NameNode 只存储这些信息,文件中真正的内容 NameNode 不存储,主要由 DataNode 存储
  2. NameNode 也管理文件的上传和下载操作,作为客户端的请求响应

2. DataNode (数据节点 / 从节点)

HDFS 存储的文件 最终是有DataNode节点存储的

文件存储的时候,DataNode并不是把文件直接存储的,而是将文件按照文件大小划分为有一个的block块,文件都是以block块去在DataNode上存储的

Hadoop 1.x 默认是64M

Hadoop 2.x 默认是128M

block块大小默认是128M,但是可以更改,在hdfs-site.xml中配置一个配置项 dfs.blocksize 即可(注意单位是B字节)

        Notes:HDFS默认有一个备份机制,存储一个文件的时候,划分成不同的 block 块,每一个 block 块都会备份,默认HDFS备份三份,可以通过修改 hdfs-site.xml 中配置一个配置项 dfs.replication 即可

3. SecondaryNameNode (第二名称节点)

是NameNode的小助手,帮助 NameNode 去合并日志文件和镜像文件。但是注意 SecondaryNameNode 虽然叫第二名称节点,但它永远是第二,永远代替不了 NameNode。而且在一般情况下,NameNode 和 SecondaryNameNode 在分布式环境下不在一台节点下NameNode 和 SecondaryNameNode、DataNode 都是需要内存运行的

四、HDFS传输文件方式

HDFS是一个分布式文件存储系统,那么必须可以上传文件和下载文件

不管是通过命令去操作,还是 Java API操作,都必须把 HDFS集群启动起来

通过 HDFS 命令的方式上传和下载

语法:

hdfs 操作符 文件相关信息

NotesHDFS是一个分布式文件存储系统,文件系统路径也是从 / 这个根路径开始,只不过 / 根路径默认是没有任何文件的

案例:

# 查看这个路径下有哪些文件和文件夹
hdfs dfs -ls / hdfs 上的文件夹路径 # 创建某个文件夹,如果这个文件夹有父目录,父目录不存在,则会报错
hdfs dfs -mkdir 文件名 # 若要在空目录下创建目录,需要加 -p 选项
hdfs dfs -mkdir -p 文件名 # 将Linux本地的文件上传到HDFS指定目录下
hdfs dfs -put linux本地文件路径 /上传文件路径 # 将HDFS上的一个文件下载到Linux本地
hdfs dfs -get /HDFS上的要下载的路径 Linux本地的路径

五、HDFS常用命令

  • -help:输出这个命令参数

bin/hdfs dfs -help rm

  • -ls: 显示目录信息

hadoop fs -ls /

  • -mkdir:在hdfs上创建目录

# -p参数代表递归创建
hadoop fs  -mkdir  -p  /aaa/bbb/cc/dd

  • -moveFromLocal从本地剪切粘贴到hdfs

hadoop  fs  - moveFromLocal  /home/hadoop/a.txt  /aaa/bbb/cc/dd 

  • -moveToLocal:从hdfs剪切粘贴到本地(尚未实现)

[uek@node2 hadoop-2.8.5]$ hadoop fs -help moveToLocal
-moveToLocal <src> <localdst> :
Not implemented yet 

  • --appendToFile :追加一个文件到已经存在的文件末尾

hadoop  fs  -appendToFile  ./hello.txt  /hello.txt 

  • -cat :显示文件内容

hadoop fs -cat /aaa/bbb/cc/dd/test.txt 

  • -tail:显示一个文件的末尾

hadoop  fs  -tail  /weblog/access_log.1 

  • -chgrp 、-chmod、-chown:linux文件系统中的用法一样,修改文件所属权限

hadoop  fs  -chmod  666  /hello.txt
hadoop  fs  -chown  someuser:somegrp   /hello.txt

  • -copyFromLocal:从本地文件系统中拷贝文件到hdfs路径去:

```sh
hadoop  fs  -copyFromLocal  ./jdk.tar.gz  /aaa/

  • -copyToLocal:从hdfs拷贝到本地

hadoop fs -copyToLocal /user/hello.txt ./hello.txt

  • -cp :从hdfs的一个路径拷贝到hdfs的另一个路径

hadoop  fs  -cp  /aaa/jdk.tar.gz  /bbb/jdk.tar.gz.2

  • -mv:在hdfs目录中移动文件

hadoop  fs  -mv  /aaa/jdk.tar.gz  /

  • -get:等同于copyToLocal,就是从hdfs下载文件到本地

hadoop fs -get /user/hello.txt ./

  • -getmerge :合并下载多个文件,比如hdfs的目录 /aaa/下有多个文件:log.1, log.2,log.3,…

hadoop fs -getmerge /aaa/log.* ./log.sum

  • -put:等同于copyFromLocal

hadoop  fs  -put  /aaa/jdk.tar.gz  /bbb/jdk.tar.gz.2​​​​​​​​​​​​​​

  • -rm:删除文件或文件夹

​​​​​​​​​​​​​​hadoop fs -rm -r /aaa/bbb/

  • -rmdir:删除空目录

​​​​​​​​​​​​​​hadoop  fs  -rmdir   /aaa/bbb/ccc

  • -df :统计文件系统的可用空间信息

​​​​​​​​​​​​​​hadoop  fs  -df  -h  /

  • -du:统计文件夹的大小信息

​​​​​​​​​​​​​[uek@node2 hadoop-2.8.5]$ hadoop fs -du -s -h /user/uek/wcinput
188.5 M  /user/uek/wcinput
[uek@node2 hadoop-2.8.5]$ hadoop fs -du  -h /user/uek/wcinput
188.5 M  /user/uek/wcinput/hadoop-2.8.5.tar.gz
97       /user/uek/wcinput/wc.input

  • -count:统计一个指定目录下的文件节点数量

​​​​​​​​​​​​​​hadoop fs -count /aaa/
[uek@node2 hadoop-2.8.5]$ hadoop fs -count /user/uek/wcinput
     1       2          197657784 /user/uek/wcinput
嵌套文件层级;  包含文件的总数

  • -setrep:设置hdfs中文件的副本数量

hadoop fs -setrep 3 /aaa/jdk.tar.gz

# 这里设置的副本数只是记录在namenode的元数据中,是否真的会有这么多副本,还得看datanode的数量。因为目前只有3台设备,最多也就3个副本,只有节点数的增加到10台时,副本数才能达到10。

六、如何实现启动HDFSyarn的时候不输入密码

  解决方式就是让电脑知道自己的登录密码或者是别的电脑的登录密码  这样的花启动的时候就不需要输入密码;

  配置ssh免密钥登录----配置不使用密码可以登录

    核心思想:就是在当前用户的家目录的.ssh目录下生成一个公钥私钥

  然后讲公钥传给别人  那么别人再去登录你的时候就可以不用输入密码了

  1、生成密钥

   必须在~/.ssh这个目录下执行命令  ssh-keygen -t rsa

  2、怎么把密码给别人

          ssh-copy-id 你要给的主机ip

 

HDFS(Hadoop Distributed File System )概述的更多相关文章

  1. Hadoop ->> HDFS(Hadoop Distributed File System)

    HDFS全称是Hadoop Distributed File System.作为分布式文件系统,具有高容错性的特点.它放宽了POSIX对于操作系统接口的要求,可以直接以流(Stream)的形式访问文件 ...

  2. HDFS(Hadoop Distributed File System )

    HDFS(Hadoop Distributed File System ) HDFS(Hadoop Distributed File System )Hadoop分布式文件系统.是根据google发表 ...

  3. HDFS分布式文件系统(The Hadoop Distributed File System)

    The Hadoop Distributed File System (HDFS) is designed to store very large data sets reliably, and to ...

  4. HDFS(Hadoop Distributed File System )hadoop分布式文件系统。

    HDFS(Hadoop Distributed File System )hadoop分布式文件系统.HDFS有如下特点:保存多个副本,且提供容错机制,副本丢失或宕机自动恢复.默认存3份.运行在廉价的 ...

  5. HDFS(Hadoop Distributed File System)的组件架构概述

    1.hadoop1.x和hadoop2.x区别 2.组件介绍 HDFS架构概述1)NameNode(nn): 存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个 ...

  6. HDFS体系结构:(Distributed File System)

    分布式系统的大概图 服务器越来越多,客户端对服务器的管理就会越来越复杂,客户端如果是我们用户,就要去记住大量的ip. 对用户而言访问透明的就是分布式文件系统. 分布式文件系统最大的特点:数据存储在多台 ...

  7. Yandex Big Data Essentials Week1 Scaling Distributed File System

    GFS Key Components components failures are a norm even space utilisation write-once-read-many GFS an ...

  8. Ceph: A Scalable, High-Performance Distributed File System译文

    原文地址:陈晓csdn博客 http://blog.csdn.net/juvxiao/article/details/39495037 论文概况 论文名称:Ceph: A Scalable, High ...

  9. 5105 pa3 Distributed File System based on Quorum Protocol

    1 Design document 1.1 System overview We implemented a distributed file system using a quorum based ...

随机推荐

  1. 9.10、mysql进程、状态在线修改参数重要知识

    1.-e :改参数表示不用登陆mysql就可以使用mysql的命令,有利于于加管道符对数据进行处理: mysql -uroot -p123456 -e "show databases;&qu ...

  2. js--你需要知道的字符串使用方法(含es6及之后)

    前言 字符串作为 JavScript 的基本数据类型,在开发以及面试过程中作为程序员对基础掌握情况的重要考点,本文来总结一下字符串的相关属性以及用法.包含了ES6中的一些新语法特性. 正文 1.字符串 ...

  3. consul 多节点/单节点集群搭建

    三节点配置 下载安装包 mkdir /data/consul mkdir /data/consul/data curl -SLO https://github.com/consul/1.9.5/con ...

  4. SpringCloud:SpringBoot整合SpringCloud项目

    划分模块 这里我划分了四个模块 Common: 存放bean和Dao模块 Consumer: 消费者模块,提供对外暴露接口服务 EurekaServer: Eureka注册中心模块,主要用于启动注册中 ...

  5. bugku--cookie欺骗

    打开题目一看,是一串的东西,再看了一下filename发现不对劲了,明显是base64编码,拿去解码一下, 发现是这个,说明是filename,是需要解析的哪个文件名,把index.php编码一下,试 ...

  6. bugku秋名山车神

    不断的刷新,发现表达式一直在变换,这种必须写脚本,才能跟上速度.直接上代码 import re import requests s=requests.session() r=s.get("h ...

  7. VisualEffectGraph基础操作 --创建VEG项目步骤讲解

    一:建立VEG项目步骤 首先打开Unity Hub,  使用unity2020.1 新建项目(本技术博客,默认使用unity2020.1 版本演示),选择HDRP 高清渲染管线,确定项目目录与名称. ...

  8. [刘阳Java]_Spring中IntrospectorCleanupListener的用途【补充】_第16讲

    这篇文章不是我自己原创的,但是为了后期的阅读,所以我收录网上的一篇文章.为了尊重作者的版权,转载地址先放上来,大家也可以去访问他的原始文章.http://jadyer.cn/2013/09/24/sp ...

  9. 微信小程序云开发-云存储-上传、下载、打开文件文件(word/excel/ppt/pdf)一步到位

    一.wxml文件 <!-- 上传.下载.打开文件一步执行 --> <view class="handle"> <button bindtap=&quo ...

  10. 【Javaweb】Cookie和Session

    会话技术 什么是会话 从浏览器访问服务器开始,到访问服务器结束,浏览器关闭为止的这段时间内容产生的多次请求和响应,合起来叫做浏览器和服务器之间的一次会话 会话管理作用 共享数据用的,并且是在不同请求间 ...