hadoop搭建(三)——命令指南

hadoop搭建(三)

本文档翻译hadoop的命令手册,来自Hadoop Commands Guide

概述

所有的hadoop命令可以通过bin/hadoop脚本进行调用。运行这个脚本没有添加任何参数的话就会打印所有命令的详情。
用法:hadoop [--config confdir] [--loglevel loglevel] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]

字段详情
–config confdir覆盖默认的配置目录. 默认的配置目录是 ${HADOOP_HOME}/conf
–loglevel loglevel覆盖日志级别。有效的日志级别是FATAL, ERROR, WARN, INFO, DEBUG, 和TRACE。默认是INFO.
GENERIC_OPTIONS支持多个命令的通用选项集
COMMAND_OPTIONS本文档中介绍了Hadoop公共子项目的各种命令及其选项。HDFS和YARN在其他文档中被提到

一般选项

许多子命令都支持一组通用的配置选项来改变它们的行为:

通用选项详情
archives <逗号分隔的归档列表>Specify comma separated archives to be unarchived on the compute machines. Applies only to job.
conf 指定配置文件
D =给对应的属性赋值
files <逗号分隔的文件列表>指定一个逗号分隔的文件列表,可以被复制到mapreduce集群中。在job中使用
fs <file:///> 或者 hdfs://namenode:port指定默认的文件的url. 覆盖配置中的’fs.defaultFS’属性
jt 或者 resourcemanager:port指定一个resourcemanager。在job中使用
libjars 指定逗号分隔的jar包到classpath。在job中使用

用户命令

对hadoop集群的用户有用的命令。

archive(?归档)

创建一个hadoop归档。翻译自Hadoop Archives Guide

  1. 概述
    Hadoop档案是特殊格式的档案。一个Hadoop存档映射到文件系统目录。 Hadoop存档总是具有* .har扩展名。Hadoop归档目录包含元数据(以_index和_masterindex的形式)和data(part-* )文件。_index文件包含部分归档文件的名字和这些文件的所在位置。

  2. 如何创建一个档案
    用法:hadoop archieve -archiveName name -p <parent> [-r <replication factor>] <src>* <dest>
    -archiveName 是你将要创建的档案的名字。例如:foo.har。名字应该要有*.har的扩展。
    parent参数指定了档案关联的文件的相对路径,例如:
    -p /foo/bar a/b/c e/f/g
    这里的/foo/bar是父路径,而a/b/c,e/f/g是相对父路径的相对路径。注意到map/reduce会创建一个档案。你需要一个mapreduce集群来运行它。后面章节有一个详细的例子。
    -r 表示需要复制的元素;如果可选参数未被指定, a replication factor of 3 will be used.(?)
    如果你想要归档一个目录:/foo/bar你可以使用下面的代码:
    hadoop archive -archiveName zoo.har -p /foo/bar -r 3 /outputdir
    如果指定加密区中的源文件,它们将被解密并写入存档。 如果har文件不在加密区中,则它们将以明文(解密)形式存储。 如果har文件位于加密区域,则它们将以加密形式存储。

  3. 如何在档案中寻找一个文件
    存档将自身公开为文件系统层。 因此,归档中的所有fs shell命令都可以工作,但具有不同的URI。 另请注意,档案是不可变的。 因此,重命名,删除和创建会返回错误。 Hadoop Archives的URI是
    har ://scheme-hostname:port/archivepath/fileinarchive
    如果文件系统中没有scheme提供。这种情况下的URI有以下形式
    har:///archivepath/fileinarchive

  4. 如何打开一个档案
    由于归档中的所有fs shell命令都是透明的,因此归档只是复制的问题。
    按顺序打开一个档案:
    hdfs dfs -cp har:///user/zoo/foo.har/dir1 hdfs:/user/zoo/newdir
    使用distCp并行打开一个档案:
    hadoop distcp har:///user/zoo/foo.har/dir1 hdfs:/user/zoo/newdir

  5. 归档的例子

    • 创建一个归档
      hadoop archive -archiveName foo.har -p /user/hadoop -r 3 dir1 dir2 /user/zoo
      上述例子将会创建一个归档,以/user/hadoop作为参考路径。/user/hadoop/dir1/user/hadoop/dir2将会被归档到文件系统目录 - /user/zoo/foo.har中。归档将不会删除输入的文件。如果你在创建一个档案后想要删除一个输入文件,你将不得不自己完成。In this example, because -r 3 is specified, a replication factor of 3 will be used.(?)

    • 寻找文件
      在hadoop档案中寻找文件就像在文件系统中使用ls一样简单。在上述例子之后,你到达目录/user/hadoop/dir1/user/hadoop/dir2之后,想看所以文件可以使用以下命令:
      hdfs dfs -ls -R har:///user/zoo/foo.har/
      为了理解参数-p的意义,我们再一次到达上述例子。如果你在hadoop档案中仅仅执行了ls(而不是lsr)
      hdfs dfs -ls har:///user/zoo/foo.har
      输出应该是

      har:///user/zoo/foo.har/dir1
      har:///user/zoo/foo.har/dir2

      我们上次创建档案使用的是以下命令
      hadoop archive -archiveName foo.har -p /user/hadoop dir1 dir2 /user/zoo
      如果你把命令改成:
      hadoop archive -archiveName foo.har -p /user/ hadoop/dir1 hadoop/dir2 /user/zoo
      然后到hadoop档案中使用:
      hdfs dfs -ls har:///user/zoo/foo.har
      你将会得到:

      har:///user/zoo/foo.har/hadoop/dir1
      har:///user/zoo/foo.har/hadoop/dir2

      注意到参考路径已经变成了/user/而不是/user/hadoop

classpath

用法: hadoop classpath [--glob |--jar <path> |-h |--help]

COMMAND_OPTION描述
–glob扩展通配符
–jar pathwrite classpath as manifest in jar named path
-h, --help打印帮助文档

打印获取Hadoop jar和所需库所需的类路径。 如果不带参数调用,则打印由命令脚本设置的类路径,该脚本可能在类路径条目中包含通配符。 其他选项在通配符扩展后打印类路径,或将类路径写入jar文件的清单中。 后者在无法使用通配符且扩展类路径超过支持的最大命令行长度的环境中非常有用。

后面内容目前用不上,不看了=。=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值