当前位置:   article > 正文

Hadoop+Spark大数据技术(微课版)曾国荪、曹洁版思维导图第二章 HDFS大数据分布式存储_大数据spark hdfs

大数据spark hdfs

 

  • 第二章 HDFS大数据分布式存储

    • 2.1 HDFS 的基本特征

      • 1.大规模数据分布存储

      • 2.流式访问

      • 3.容错

        • 正确处理故障,确保数据处理继续进行,且不丢失数据。

      • 4.简单的文件模型

        • 一次写入,多次读取。

        • 支持在文件末端追加数据,不支持在文件位置任意修改。

      • 5.数据块存储模式

        • 默认数据块64MB

      • 6.跨平台兼容性

        • 采用JAVA语言,支持JVM的机器都可以运行HDFS。

    • 2.2 HDFS的存储架构及组件

      • 2.2.1 HDFS的存储架构

        • 采用经典的主从架构 4个部分组成

          • Client (客户端)

            • DataNode (数据节点)

              • NameNode (名称节点)

                • SecondaryNameNode (第二名称节点)

        • 一个HDFS集群由一个名称节点和一定数量的数据节点组成。

        • 名称节点和数据节点共同协调完成分布式的文件存储服务。

      • 2.2.2 数据块

        • 传统的文件系统

          • 为提高磁盘读写效率,一般以数据块为单位,而不是以字节为单位,数据块是磁盘读写的最小单位。

          • 文件系统的数据块大小通常是几千字节,而磁盘的数据块大小通常是512B。

        • HDFS

          • 这里的数据块是一个更大的单元,Hadoop 2.x版本默认的数据块大小是128MB。

          • 如同单一磁盘的文件系统中的文件,HDFS中的文件被分解成数据块大小的若干数据块,独立保存在各单元。

          • HDFS使用数据块的好处

            • 文件存储不受单一磁盘大小限制。

              • 集群的若干磁盘共同存储。

            • 简化存储系统的存储过程。

              • 数据块大小固定,简单计算给定磁盘上存储数据块个数。

      • 2.2.3 DataNode

        • 定义

          • 一个数据节点运行一个数据节点进程。

          • 可作为服务器接收来自客户端访问处理数据块读写请求。

          • 通过心跳消息定时向名称节点发送所存储的文件信息。

        • 作用

          • 管理所在节点上的数据存储。

      • 2.2.4 NameNode

        • 定义

          • 名称节点是一个中心服务器

        • 作用

          • 管理文件系统的命名空间和元数据

          • 管理客户端对文件的访问

        • 保存文件系统的3种元数据

          • (1)命名空间,即HDFS的目录结构。

          • (2)数据块与文件名的映射表。

          • (3)每个数据块副本的位置信息,每一个数据块默认有3个副本。

        • 元数据信息

          • (1)文件的owership和permission。

          • (2)文件包含哪些数据块。

          • (3)数据块保存在哪个DataNode(由DataNode启动时上报)上。

      • 2.2.5 SecondaryNameNode

        • 备份NameNode的元数据,以便失效恢复。

        • 周期性(周期的长短可配置)保存

      • 2.2.6 心跳消息 (Heartbeat)

        • 名称节点周期向管理的各数据节点发送心跳消息,收到心跳消息的数据节点回复。

      • 2.2.7 客户端

        • 严格来讲,客户端(代表用户)并不能算是HDFS的一部分

        • 是用户和HDFS通信的渠道之一,部署的HDFS都会提供客户端。

        • 为用户提供了一种与Linux中的Shell类似的方式访问 HDFS的数据。

        • 支持常见的操作,如打开、读取、写入等

        • 通过与NameNode 和DataNode 交互来访问HDFS中的文件。

      • 2.3 HDFS的Shell 操作

        • 适用

          • (1)hadoop fs:适用于任何不同的文件系统,例如本地文件系统和HDFS。

          • (2)hadoop dfs:只适用于HDFS。

          • (3)hdfs dfs:与hadoop dfs命令一样,也只适用于HDFS。

        • 2.3.1查看命令的使用方法

          • 启动Hadoop

            • cd /usr/local/hadoop

            • ./sbin/start-dfs.sh

          • 关闭Hadoop

            • ./sbin/stop-dfs.sh

          • 查看支持的操作

            • cd /usr/local/hadoop

            • ./bin/hdfs dfs

          • 查看某命令的用法

            • 例如,查cp命令的用法

            • ./bin/hafs dfs -help cp

        • 2.3.2 HDFS常用的Shell 操作

          • 1.创建目录——mkdir 命令

            • hdfs dfs -mkdir [-p] <path>

            • -p参数表示创建目录时先检查路径是否存在,如果不存在,则创建相应的各级目录。

          • 2.列出指定目录下的内容——ls命令

            • hdfs dfs -ls -d -h -R

            • -d:将目录显示为普通文件。

            • -h:使用便于操作人员读取的单位信息格式。

            • -R:递归显示所有子目录的信息。

          • 3.上传文件——put命令

            • ./bin/hdfs dfs -put [-f] [-p]

            • 功能:将单个 localsrc或多个localsrc从本地文件系统上传到HDFS中。

            • -p:保留访问和修改时间、所有权和权限。

            • -f:覆盖目标文件(如果已经存在)。

          • 4.从HDFS中下载文件到本地文件系统——get命令

            • ./bin/hdfs dfs -get input/myLocalFile.txt /home/hadoop/下载

          • 5.复制文件——cp命令

            • hdfs dfs -cp URI[URI...] <dst>

          • 6.查看文件内容——cat命令

            • hafs dfs -cat URI[URI...]

          • 7.在HDFS目录中移动文件——mv命令

            • hdfs dfs -mv URI(URI...)

          • 8、显示文件大小——du命令

            • hdfs dfs -du /user/hadoop/input

          • 9.追加文件内容——appendToFile命令

            • hdfs dfs -appendToFile

            • △注意:HDFS不能对文件进行修改,但可以进行追加。

          • 10.从本地文件系统中复制文件到HDFS——copyFromLocal命令

            • hats afs -copyFromtocal

          • 11.从HDFS中复制文件到本地文件系统—copyToLocal命令

            • hdfs dfs -copyTolocal input/mylocalFile.txt /home/hadoop/LocalFile100.txt

          • 12.从HDFS中删除文件和目录——rm命令

            • .bin/hdfs dfs -rm -r /input

            • -r:表示删除input 目录及其子目录下的所有内容。

        • 2.3.3 HDFS的管理员命令

          • HDFS 命令分为用户命令(dfs等)、管理员命令(dfsadmin等)。

          • 管理员命令(dfsadmin)

            • 一个多任务的工具,用于获取HDFS的状态信息,以及在HDFS上执行一系列管理操作,调用方式为“hdfs dfsadmin-具体的命令”。

            • 1.查看文件系统的基本信息和统计信息——report命令

              • 查看HDFS状态,比如有哪些DataNode、每个DataNode的情况

              • hdfs dfsadmin -report

            • 2.安全模式——safemode命令

              • 进入

                • hdfs dfsadmin -safemode enter

              • 离开

                • hdfs dfsadmin -safemode leave

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/545757
推荐阅读
相关标签
  

闽ICP备14008679号