个人理财 使用Hadoop文件系统命令管理文件 - 虚拟人物

使用Hadoop文件系统命令管理文件 - 虚拟人物

视频: 9 3 1 文件系统管理 fdisk分区 分区过程 2025

视频: 9 3 1 文件系统管理 fdisk分区 分区过程 2025
Anonim

中的文件HDFS是Hadoop框架的两个主要组件之一;另一个是被称为MapReduce的计算范例。一个 分布式文件系统 是一个文件系统,用于管理网络集群中的存储。

HDFS将数据存储在 块 中,默认大小为64 MB的单元。您需要将要存储在HDFS中的文件分解为块大小的块,然后将其独立存储在整个群集中。您可以使用fsck line命令列出组成HDFS中每个文件的块,如下所示:

<! --1 - >
%hadoop fsck / -files -blocks

因为Hadoop是用Java编写的,所以所有与HDFS的交互都通过Java API进行管理。不过请记住,你不需要成为一个Java专家来处理HDFS中的文件。在Java API之上构建的几个Hadoop接口现在是常用的(并隐藏了Java),但最简单的是命令行界面。在提供的示例中使用命令行与HDFS进行交互。

通过运行一种形式的hadoop命令来访问Hadoop文件系统shell。所有hadoop命令都由bin / hadoop脚本调用。 (要检索所有hadoop命令的描述,请运行hadoop脚本,而不指定任何参数。)hadoop命令的语法是

hadoop [--config confdir] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]

config confdir选项将覆盖默认的配置目录($ HADOOP_HOME / conf),这样您就可以轻松地自定义您的Hadoop环境配置。通用选项和命令选项是由几个命令支持的一组常用选项。

<! Hadoop文件系统shell命令(用于命令行界面)采用统一的资源标识符(URI)作为参数。

URI 是用于标识名称或Web资源的字符串。 字符串可以包含

方案名称 - 数据源性质的限定符。对于HDFS,方案名称为hdfs,对于本地文件系统,方案名称为file。如果您不指定方案名称,则默认为在配置文件中指定的方案名称。 HDFS中的文件或目录可以以完全合格的方式指定,例如: hdfs:// namenodehost / parent / child

或者,如果配置文件指向到hdfs:// namenodehost。

与Linux文件命令相似的Hadoop文件系统shell命令具有以下一般语法:

hadoop hdfs dfs -

file_cmd 具有Hadoop经验的读者可能会问:关于hadoop fs命令?“fs命令在Hadoop 0. 2发行版系列中已弃用,但在Hadoop 2中仍然可以使用。请改用hdfs dfs。

正如您所料,您可以使用mkdir命令在HDFS中创建一个目录,就像您在Linux或基于Unix的操作系统上一样。尽管HDFS有一个默认工作目录/ user / $ USER,其中

$ USER 是您的登录用户名,您需要使用语法 $ hadoop hdfs dfs -mkdir / user /

login_user_name 例如,要创建名为“joanna”的目录,请运行以下mkdir命令:

$ hadoop hdfs dfs -mkdir / user / joanna

使用Hadoop put命令从您的本地文件系统为HDFS:

$ hadoop hdfs dfs -put

file_name / user / login_user_name 例如,复制名为data的文件。 txt到这个新目录,运行下面的put命令:<$ $ hadoop hdfs dfs -put data。 txt / user / joanna

运行ls命令获取HDFS文件列表:

$ hadoop hdfs dfs -ls。找到2项目drwxr-xr-x - joanna supergroup 0 2013-06-30 12:25 / user / joanna -rw -r - r-- 1 joanna supergroup 118 2013-06-30 12:15 / user / joanna /数据。 txt

文件列表本身如下所述分解:

列1显示

文件模式

  • (“d”表示目录,“ - ”表示普通文件,后面是权限) 。 <读写>(r),写入(w)和执行(x)三种权限类型与您在基于Linux和Unix的系统上找到的相同。文件的执行权限被忽略,因为你不能在HDFS上执行文件。权限按照所有者,组和公共(其他人)分组。 第2列显示文件的复制因子。 (复制的概念不适用于目录。) 复制HDFS中构成文件的块以确保容错性。 复制因子

  • 或为特定文件保留的副本数量是可配置的。您可以通过应用程序指定创建文件或更高版本时的复制因子。 第3列和第4列显示文件 所有者 和

  • 组 。 Supergroup 是超级用户组的名称, 超级用户 是与NameNode进程具有相同身份的用户。如果你启动NameNode,你现在是超级用户。这是一个特殊的小组 - 常规用户将其用户组归属于一个没有特殊特征的小组 - 一个只由Hadoop管理员定义的小组。 第5列显示文件的大小(以字节为单位),如果是目录,则显示为0。 第6列和第7列分别显示上次修改的日期和时间。 第8列显示文件或目录的非限定名称(表示方案名称未指定)。

  • 使用Hadoop get命令将文件从HDFS复制到本地文件系统:

  • $ hadoop hdfs dfs -get

  • file_name

/ user /

login_user_name 使用Hadoop rm命令来删除一个文件或一个空目录: $ hadoop hdfs dfs -rm file_name

/ user /

login_user_name 使用hadoop hdfs dfs -help命令可以获得详细的帮助选项。 

使用Hadoop文件系统命令管理文件 - 虚拟人物

编辑的选择

记录您的思科网络配置与CDP - 傻瓜

记录您的思科网络配置与CDP - 傻瓜

记录思科网络配置有时没有思科发现协议)可能需要花费数小时在布线室跟踪电缆和记录端口。在某些情况下,配线室是一个真正的老鼠的电缆巢,并且可能需要几个小时的导航才能找出哪些交换机连接到哪个交换机,哪些路由器,...

以太网通道诊断信息收集 - 虚拟

以太网通道诊断信息收集 - 虚拟

诊断思科网络中的以太网通道问题,您首先必须能够收集您的交换机及其配置。为了执行这个任务,你一如既往地依靠Show和debug命令。首先,简要介绍一下show命令的内容。 Switch1> enable Switch1#configure terminal Switch2#show EtherChannel ...

扩展访问控制列表(ACL) - 虚拟

扩展访问控制列表(ACL) - 虚拟

扩展访问控制列表(ACL)允许您允许拒绝来自特定IP地址的流量到特定的目标IP地址和端口。它还允许您指定不同类型的流量,如ICMP,TCP,UDP等。不用说,它非常细化,可以使您非常具体。如果...

编辑的选择

电子项目计划步骤1:设想您的电子项目 - 傻瓜

电子项目计划步骤1:设想您的电子项目 - 傻瓜

设计和建立你的电子项目的细节,你应该退后一步,看看大局。首先,你需要确保你有一个坚实的想法为您的项目。你为什么要建立它?它会做什么,谁来使用它,为什么? ...

电子项目计划步骤4:构建您的电路 - 傻瓜

电子项目计划步骤4:构建您的电路 - 傻瓜

而且你对它的操作感到满意,你可以建立一个永久版本的电路。虽然有几种方法可以做到这一点,但最常见的是在印刷电路板(也称为PCB)上构建电路。请注意,在PCB上组装电路...

电子项目计划步骤3:原型电路 - 假人

电子项目计划步骤3:原型电路 - 假人

永久的电路板,你会想确保它的工作。最简单的方法就是在无焊面包板上构建电路。无焊料面包板可以让您快速组装电路元件而不需要焊接任何东西。相反,您只需将其裸露在外...

编辑的选择

如何替换R中的文本 - 虚拟变量

如何替换R中的文本 - 虚拟变量

R中的sub()函数在文本模式,并用替换文本替换此模式。你使用sub()来替代文本文本,并使用其表兄gsub()来替换所有出现的模式。 (gsub()中的g表示全局。)假设你有句子He ...

中如何成功地遵循命名惯例在R - 傻瓜

中如何成功地遵循命名惯例在R - 傻瓜

R是非常自由的,对象和功能。这个自由是一个很大的祝福,同时也是一个很大的负担。没有人不得不遵循严格的规则,所以在R中编程的人基本上可以按照自己的意愿去做。如何选择一个正确的名字...

中使用函数在R中创建并转换脚本后,如何使用R - dummies中的函数

中使用函数在R中创建并转换脚本后,如何使用R - dummies中的函数

再次使用前面显示的Source()命令将其加载到控制台中。现在你看...什么也没有。 R并不让你知道它已经加载了这个函数,但它已经在工作空间中了,你可以检查一下...