大数据Hadoop 之 HDFS的基本和进阶使用

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 你好看官,里面请!今天笔者讲的是大数据Hadoop 之 HDFS的基本使用。不懂或者觉得我写的有问题可以在评论区留言,我看到会及时回复。 注意:本文仅用于学习参考,不可用于商业用途,如需转载请跟我联系。

大数据Hadoop 之 HDFS的基本使用

Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)是Hadoop框架中的一个核心组件,用于存储和处理大规模数据。HDFS将文件划分为数据块,并在集群中不同节点上分别存储这些数据块,以实现高可靠性和高吞吐量。

基本概念

以下是HDFS的一些基本概念:

NameNode和DataNode

HDFS由两种类型的节点组成:NameNode和DataNode。NameNode维护着整个文件系统的命名空间和每个文件的元数据信息,而DataNode则负责存储数据块。

数据块

HDFS将文件划分为若干个数据块,默认大小为128MB。每个数据块可以有多个副本,在不同的DataNode上复制存储,以提高可靠性和读取性能。

副本

HDFS默认会为每个数据块创建三个副本,分别存储在不同的DataNode上。其中一个副本作为主副本,负责读写操作,其余两个副本为备份。

基本功能

接下来,我们将介绍HDFS的一些基本操作:

创建目录

使用以下命令可以在HDFS上创建一个新目录:

hdfs dfs -mkdir /user/[username]/[directory]

其中,[username]是您的用户名,[directory]是您要创建的目录名称。

上传文件

使用以下命令可以将本地文件上传到HDFS:

hdfs dfs -put [localfile] [destination]

其中,[localfile]是本地文件路径,[destination]是HDFS文件路径。

下载文件

使用以下命令可以将HDFS文件下载到本地:

hdfs dfs -get [source] [localfile]

其中,[source]是HDFS文件路径,[localfile]是本地文件路径。

列出文件/目录

使用以下命令可以列出HDFS上的文件或目录:

hdfs dfs -ls [path]

其中,[path]是文件或目录的路径。

删除文件/目录

使用以下命令可以删除HDFS上的文件或目录:

hdfs dfs -rm [-r] [path]

其中,[path]是文件或目录的路径。如果想要删除目录及其所有内容,需要加上-r参数。

查看文件内容

使用以下命令可以查看HDFS上文件的内容:

hdfs dfs -cat [path]

其中,[path]是文件的路径。

以上是HDFS的一些基本操作,通过这些命令,您可以在HDFS上进行简单的文件操作。除此之外,HDFS还支持更多高级功能,如文件块大小、文件副本数等的配置,以适应不同场景的需求。

重要概念

下面就来讲解一下高级功能:

在使用HDFS时,您还需要了解一些其他重要的概念和操作:

HDFS文件系统树

HDFS中的文件系统以树形结构组织。根目录为/,所有其他目录都是其子目录。每个目录都可以包含其他目录或文件。

文件块大小

HDFS文件块的默认大小为128MB。但是,您可以通过更改Hadoop配置文件中的参数来修改文件块大小。

副本数量

Hadoop默认为每个数据块创建三个副本,其中一个作为主副本,其余两个为备份。但是,您也可以在上传文件时手动指定副本数量。

数据复制策略

HDFS采用了一种数据复制策略,即每个数据块都会被复制到不同的机架上。这样可以保证数据即使在机架故障时也能保持可访问性。

安全模式

当NameNode启动时,它会进入安全模式。在这种模式下,NameNode将阻止任何写操作,直到其确信数据已经完全恢复。

客户端缓存

HDFS客户端会将最近访问过的文件块缓存在本地磁盘上,以提高读取性能。这个缓存称为“本地缓存(Local Cache)”。

高级操作

下面是HDFS的一些高级操作:

修改文件副本数量

您可以使用以下命令手动修改文件的副本数量:

hdfs dfs -setrep [-R] <numReplicas> <path>

其中,-R参数表示递归遍历子目录。如果省略此参数,则只会更改指定路径下的文件副本数量。

更改文件块大小

您可以使用以下命令手动更改文件块大小:

hdfs dfs -D dfs.block.size=<size> -put [localfile] [destination]

其中,<size>是新块大小(以字节为单位),[localfile]是本地文件路径,[destination]是HDFS文件路径。

查看文件块信息

您可以使用以下命令查看HDFS上文件块的详细信息:

hdfs fsck / -files -blocks -locations

这个命令将输出文件系统检查器的结果,包括文件名、文件大小、块数量和每个块的位置。

清空本地缓存

您可以使用以下命令清空HDFS客户端的本地缓存:

hdfs cacheadmin -removeDirectives -path <path>

其中,<path>是您要清空缓存的文件路径。

以上是HDFS的一些高级操作。通过这些操作,您可以更好地利用HDFS的强大功能,并满足数据处理的不同需求。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
186 6
|
2月前
|
消息中间件 分布式计算 关系型数据库
大数据-140 - ClickHouse 集群 表引擎详解5 - MergeTree CollapsingMergeTree 与其他数据源 HDFS MySQL
大数据-140 - ClickHouse 集群 表引擎详解5 - MergeTree CollapsingMergeTree 与其他数据源 HDFS MySQL
58 0
|
2天前
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
26 4
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
110 2
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
75 1
|
2月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
74 1
|
2月前
|
SQL 分布式计算 大数据
大数据平台的毕业设计01:Hadoop与离线分析
大数据平台的毕业设计01:Hadoop与离线分析
159 0
|
分布式计算 应用服务中间件 Docker
Hadoop HDFS分布式文件系统Docker版
一、Hadoop文件系统HDFS 构建单节点的伪分布式HDFS 构建4个节点的HDFS分布式系统 nameNode secondnameNode datanode1 datanode2 其中 datanode2动态节点,在HDFS系统运行时,==动态加入==。
2652 0
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
78 2
|
2月前
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
86 5