千家信息网

HDFS命令行接口的示例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,小编给大家分享一下HDFS命令行接口的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!现在我们将通过命令行与HDFS交互。HDFS还有很多其他接口,但命令行是最简单的,同时也是
千家信息网最后更新 2026年11月01日HDFS命令行接口的示例分析

小编给大家分享一下HDFS命令行接口的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

现在我们将通过命令行与HDFS交互。HDFS还有很多其他接口,但命令行是最简单的,同时也是许多开发者最熟悉的。

在我们设置伪分布配置时,有两个属性需要进一步解释。首先是fs.default.name,设置为hdfs://localhost/, 用来为Hadoop设置默认文件系统。文件系统是由URI指定的,这里我们已使用了一个hdfs URI 来配置HDFS为Hadoop的默认文件系统。HDFS的守护程序将通过这个属性来决定HDFS名称节点的宿主机和端口。我们将在localhost上运行,默认端口为8020。这样一来,HDFS用户将通过这个属性得知名称节点在哪里运行以便于连接到它。

第二个属性dfs.replication,我们设为1,这样一来,HDFS就不会按默认设置将文件系统块复制3份。在单独一个数据节点上运行时,HDFS无法将块复制到3个数据节点上,所以会持续警告块的副本不够。此设置可以解决这个问题。

基本文件系统操作

文件系统已经就绪,我们可以执行所有其他文件系统都有的操作,例如,读取文件,创建目录,移动文件,删除数据,列出索引目录,等等。输入hadoop fs -help命令即可看到所有命令详细的帮助文件。

首先将本地文件系统的一个文件复制到HDFS:

1. % hadoopfs -copyFromLocal input/docs/quangle.
txt hdfs://localhost/user/tom/quangle.txt

该命令调用Hadoop文件系统的shell命令fs,提供一系列的子命令。在这里,我们执行的是-copyFromLocal。本地文件quangle.txt被复制到运行在localhost上的HDFS实体中的/user/tom/quangle.txt文件。其实我们可以省略URI的格式与主机而选择默认设置,即省略hdfs://localhost,就像core-site.xml中指定的那样。

1. % hadoop fs -copyFromLocal input/docs/quangle.
txt /user/tom/quangle.txt

也可以使用相对路径,并将文件复制到home目录,即/user/tom:

1. % hadoop fs -copyFromLocal input/docs/quangle.txt quangle.txt

我们把文件复制回本地文件系统,看看是否一样:

1. % hadoop fs -copyToLocal quangle.txt quangle.copy.txt

2. % md5 input/docs/quangle.txt quangle.copy.txt

3. MD5 (input/docs/quangle.txt) = a16f231da6b05e2ba7a339320e7dacd9

4. MD5 (quangle.copy.txt) = a16f231da6b05e2ba7a339320e7dacd9

MD5分析结果是一样的,表明这个文件在HDFS之旅中得以幸存并完整。

最后,我们看一下HDFS文件列表。我们创建一个目录来看看它在列表中如何显示:

1. % hadoop fs -mkdir books

2. % hadoop fs -ls .

3. Found 2 items

4. drwxr-xr-x - tom supergroup 0
2009-04-02 22:41 /user/tom/books

5. -rw-r--r-- 1 tom supergroup 118
2009-04-02 22:29 /user/tom/quangle.txt

返回的信息结果与Unix命令ls -l的输出非常相似,仅有细微差别。第一列显示的是文件格式。第二列是这个文件的副本数(这在Unix文件系统是没有的)。由于我们设置的默认副本数在网站范围内为1,所以这里显示的也都是1。这一列的开头目录栏是空的,因为副本的概念并没有应用-- 目录是作为元数据并存在名称节点中的,而非数据节点。第三列和第四列显示文件的所属用户和组别。第五列是文件的大小,以字节显示,目录大小为0。第六列和第七列是文件的最后修改日期与时间。最后的第八列是文件或目录的绝对路径。

HDFS中的文件许可

HDFS对于文件及目录有与POSIX非常相似的许可模式。

共有三种形式的许可:读取许可(r)、写入许可(w)和执行许可(x)。读取文件或列出目录内容时需要读取许可。写入一个文件,或是在一个目录上创建或删除文件或目录,需要写入许可。对于文件而言执行许可可以忽略因为HDFS中不能执行文件(与POSIX不同),但在访问一个目录的子项时是需要的。

每个文件和目录都有一个所属用户、所属组别和模式。这个模式是由所属用户的许可、组内其他成员的许可及其他用户的许可组成。

客户端的标识是通过它正在运行的进程的username(名称)和groups(组别)来确定的。由于客户端是远程的,任何人都可以简单地在远程系统上创建一个账户来进行访问。因此,许可只能在一个合作的团体中的用户中使用,作为共享文件系统资源和防止数据意外损失的机制,而不能在一个敌意的环境中保护资源。但是,除去这些缺点,为防止用户或自动工具及程序意外修改或删除文件系统的重要部分,使用许可还是值得的(这也是默认的配置,参见dfs.permissions属性)。

如果启用了许可检查,所属用户许可与组别许可都会被检查,以确认用户的用户名与所属用户许可是否相同,确认他是否属于此用户组的成员;若不符,则检查其他许可。

这里有一个超级用户的概念,超级用户是名称节点进程的标识。对于超级用户,系统不会执行任何许可检查。

看完了这篇文章,相信你对"HDFS命令行接口的示例分析"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

文件 用户 系统 目录 命令 节点 所属 数据 名称 属性 运行 副本 组别 检查 接口 分析 模式 配置 示例 相似 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州淘业互联网络科技 易互联网科技有限公司 智网互联网科技 善班互联网科技有限公司 互联网科技宣传片 互联网公司会议桌创意科技软装饰 现代科技和互联网有关系吗 顶级互联网科技成果有哪些 彤创互联网科技有限公司 呼和浩特新华互联网科技学院 内蒙古九一互联网科技 四川慕妮娅互联网科技有限公司 为客找房互联网科技公司怎么样 互联网科技圈年度人物 北京市互联网新科技 启辰互联网科技 上海创道互联网络科技有限公司 互联网科技年终奖 兰石爱特工业互联网科技分公司 互联网领先科技成果宣传视频 互联网科技官网 互联网与科技发展 互联网科技未来 奇酷互联网络科技公司 盛创互联网科技有限公司 上海电发互联网科技有限公司 科技赋能互联网健康 昭通云南众福互联网科技有限公司 河南住房之家互联网科技 南博望互联网科技有限公司
0