zoukankan      html  css  js  c++  java
  • HADOOP命令介绍

    一、用户命令
    1、archive命令

    (1).什么是Hadoop archives?
    Hadoop archives是特殊的档案格式。一个Hadoop archive对应一个文件系统目录。 Hadoop archive的扩展名是*.har。Hadoop archive包含元数据(形式是_index和_masterindx)和数据文件(part-*)。_index文件包含了档案中的文件的文件名和位置信息。

    (2).如何创建archive?
    用法:hadoop archive -archiveName NAME <src>* <dest>
    命令选项:
    -archiveName NAME 要创建的档案的名字。
    src 源文件系统的路径名。
    dest 保存档案文件的目标目录。
    范例:
    例1.将/user/hadoop/dir1和/user/hadoop/dir2归档到/user/zoo/文件系统目录下–/user/zoo/foo.har。
    hadoop@ubuntu:~/ hadoop archive -archiveName foo.har /user/hadoop/dir1 /user/hadoop/dir2 /user/zoo/
    当创建archive时,源文件foo.har不会被更改或删除。

    (3).如何查看archives中的文件?
    archive作为文件系统层暴露给外界。所以所有的fs shell命令都能在archive上运行,但是要使用不同的URI。另外,archive是不可改变的。所以创建、重命名和删除都会返回错误。Hadoop Archives的URI是har://scheme-hostname:port/archivepath/fileinarchive。
    如果没提供scheme-hostname,它会使用默认的文件系统。这种情况下URI是这种形式har:///archivepath/fileinarchive。
    范例:
    例1.archive的输入是/dir,该dir目录包含文件filea和fileb,现把/dir归档到/user/hadoop/foo.bar。
    hadoop@ubuntu:~/ hadoop archive -archiveName foo.har /dir /user/hadoop
    例2.获得创建的archive中的文件列表
    hadoop@ubuntu:~/hadoop dfs -lsr har:///user/hadoop/foo.har
    例3.查看archive中的filea文件
    hadoop@ubuntu:~/hadoop dfs -cat har:///user/hadoop/foo.har/dir/filea

    2、distcp
    说明:用于集群内部或者集群之间拷贝数据的常用命令(顾名思义: dist即分布式,分布式拷贝是也。)。
    用法:hadoop distcp [选项] src_url dest_url
    命令选项:
    -m 表示启用多少map
    -delete 删除已经存在的目标文件,不会删除源文件。这个删除是通过FS Shell实现的。所以如果垃圾回收机制启动的话,删除的目标文件会进入trash。
    -i 忽略失败。这个选项会比默认情况提供关于拷贝的更精确的统计,同时它还将保留失败拷贝操作的日志,这些日志信息可以用于调试。最后,如果一个map失败了,但并没完成所有分块任务的尝试,这不会导致整个作业的失败。
    -overwrite 覆盖目标。如果一个map失败并且没有使用-i选项,不仅仅那些拷贝失败的文件,这个分块任务中的所有文件都会被重新拷贝。 所以这就是为什么要使用-i参数。
    范例:
    例1.
    hadoop@ubuntu:~/ hadoop distcp "hdfs://A:8020/user/foo/bar" "hdfs://B:8020/user/foo/baz"

    3、fs
    说明:运行一个常规的文件系统客户端。
    用法:hadoop fs [GENERIC_OPTIONS] [COMMAND_OPTIONS]
    各种命令选项可以参考HDFS Shell指南。

    4、fsck
    说明:用来检查整个文件系统的健康状况,但是要注意它不会主动恢复备份缺失的block,这个是由NameNode单独的线程异步处理的。
    用法:hadoop fsck [GENERIC_OPTIONS] [-move|-delete|-openforwrite] [-files [-blocks [-locations | -racks]]]
    参数选项:
    <path> 检查这个目录中的文件是否完整
    -move 破损的文件移至/lost+found目录
    -delete 删除破损的文件
    -openforwrite 打印正在打开写操作的文件
    -files 打印正在check的文件名
    -blocks 打印block报告(需要和-files参数一起使用)
    -locations 打印每个block的位置信息(需要和-files参数一起使用)
    -racks 打印位置信息的网络拓扑图(需要和-files参数一起使用)
    范例:
    例1.
    hadoop@ubuntu:~/hadoop-1.1.1/bin$ hadoop fsck /
    Warning: $HADOOP_HOME is deprecated.

    FSCK started by hadoop from /192.168.11.156 for path / at Sat Dec 29 19:33:40 PST 2012
    .Status: HEALTHY
    Total size: 4 B
    Total dirs: 9
    Total files: 1
    Total blocks (validated): 1 (avg. block size 4 B)
    Minimally replicated blocks: 1 (100.0 %)
    Over-replicated blocks: 0 (0.0 %)
    Under-replicated blocks: 0 (0.0 %)
    Mis-replicated blocks: 0 (0.0 %)
    Default replication factor: 1 #缺省的备份参数1
    Average block replication: 1.0
    Corrupt blocks: 0 #破损的block数0
    Missing replicas: 0 (0.0 %)
    Number of data-nodes: 1
    Number of racks: 1
    FSCK ended at Sat Dec 29 19:33:40 PST 2012 in 4 milliseconds


    The filesystem under path '/' is HEALTHY
    hadoop@ubuntu:~/hadoop-1.1.1/bin$

    5、jar
    说明:运行jar文件。用户可以把他们的Map Reduce代码捆绑到jar文件中,使用这个命令执行。
    用法:hadoop jar <jar> [mainClass] args…
    范例:
    例1.在集群上运行Map Reduce程序,以WordCount程序为例
    hadoop jar /home/hadoop/hadoop-1.1.1/hadoop-examples.jar wordcount input output
    描述:
    hadoop jar:执行jar命令
    /home/hadoop/hadoop-1.1.1/hadoop-examples.jar: WordCount所在jar
    wordcount:程序主类名
    input output:输入输出文件夹

    6、job
    说明:用于和Map Reduce作业交互和命令。
    用法:hadoop job [GENERIC_OPTIONS] [-submit ] | [-status ] | [-counter ] | [-kill ] | [-events <#-of-events>] | [-history [all] ] | [-list [all]] | [-kill-task ] | [-fail-task ]
    参数选项:
    -submit <job-file>:提交作业
    -status <job-id>:打印map和reduce完成百分比和所有计数器。
    -counter <job-id> <group-name> <counter-name>:打印计数器的值。
    -kill <job-id>:杀死指定作业。
    -events <job-id> <from-event-#> <#-of-events>:打印给定范围内jobtracker接收到的事件细节。
    -history [all] :-history 打印作业的细节、失败及被杀死原因的细节。更多的关于一个作业的细节比如成功的任务,做过的任务尝试等信息可以通过指定[all]选项查看。
    -list [all]:-list all显示所有作业。-list只显示将要完成的作业。
    -kill-task <task-id>:杀死任务。被杀死的任务不会不利于失败尝试。
    -fail-task <task-id>:使任务失败。被失败的任务会对失败尝试不利。

    7、pipes
    说明:运行pipes作业。
    用法:hadoop pipes [-conf ] [-jobconf , , ...] [-input ] [-output ] [-jar ] [-inputformat ] [-map ] [-partitioner ] [-reduce ] [-writer ] [-program ] [-reduces ]
    参数选项:
    -conf <path>:作业的配置
    -jobconf <key=value>, <key=value>, …:增加/覆盖作业的配置项
    -input <path>:输入目录
    -output <path>:输出目录
    -jar <jar file>:Jar文件名
    -inputformat <class>:InputFormat类
    -map <class>:Java Map类
    -partitioner <class>:Java Partitioner
    -reduce <class>:Java Reduce类
    -writer <class>:Java RecordWriter
    -program <executable>:可执行程序的URI
    -reduces <num>:reduce个数

    8、version
    说明:打印版本信息。
    用法:hadoop version

    9、CLASSNAME
    说明:hadoop脚本可用于调用任何类。
    用法:hadoop CLASSNAME
    描述:运行名字为CLASSNAME的类。

    二、管理命令
    hadoop集群管理员常用的命令。

    1、balancer
    说明:运行集群平衡工具。管理员可以简单的按Ctrl-C来停止平衡过程。
    用法:hadoop balancer [-threshold ]
    参数选项:
    -threshold <threshold>:磁盘容量的百分比。这会覆盖缺省的阀值。

    2、daemonlog
    说明:获取或设置每个守护进程的日志级别。
    用法:hadoop daemonlog -getlevel <host:port> <name>
    用法:hadoop daemonlog -setlevel <host:port> <name> <level>
    参数选项:
    -getlevel <host:port> <name>:打印运行在<host:port>的守护进程的日志级别。这个命令内部会连接http://<host:port>/logLevel?log=<name>
    -setlevel <host:port> <name> <level>:设置运行在<host:port>的守护进程的日志级别。这个命令内部会连接http://<host:port>/logLevel?log=<name>

    3、datanode
    说明:运行一个HDFS的datanode。
    用法:hadoop datanode [-rollback]
    参数选项:
    -rollback:将datanode回滚到前一个版本。这需要在停止datanode,分发老的hadoop版本之后使用。

    4、dfsadmin
    说明:运行一个HDFS的dfsadmin客户端。
    用法:hadoop dfsadmin [GENERIC_OPTIONS] [-report] [-safemode enter | leave | get | wait] [-refreshNodes] [-finalizeUpgrade] [-upgradeProgress status | details | force] [-metasave filename] [-setQuota ...] [-clrQuota ...] [-help [cmd]]
    参数选项:
    -report:报告文件系统的基本信息和统计信息。

    5、jobtracker
    说明:运行MapReduce job Tracker节点。
    用法:hadoop jobtracker

    6、namenode
    说明:运行namenode。
    用法:hadoop namenode [-format] | [-upgrade] | [-rollback] | [-finalize] | [-importCheckpoint]
    参数选项:
    -format:格式化namenode。它启动namenode,格式化namenode,之后关闭namenode。
    -upgrade:分发新版本的hadoop后,namenode应以upgrade选项启动。
    -rollback:将namenode回滚到前一版本。这个选项要在停止集群,分发老的hadoop版本后使用。
    -finalize:finalize会删除文件系统的前一状态。最近的升级会被持久化,rollback选项将再不可用,升级终结操作之后,它会停掉namenode。
    -importCheckpoint 从检查点目录装载镜像并保存到当前检查点目录,检查点目录由fs.checkpoint.dir指定。

    7、secondarynamenode
    说明:运行HDFS的secondary namenode。
    用法:hadoop secondarynamenode [-checkpoint [force]] | [-geteditsize]
    参数选项:
    -checkpoint [force]:如果EditLog的大小 >= fs.checkpoint.size,启动Secondary namenode的检查点过程。 如果使用了-force,将不考虑EditLog的大小。
    -geteditsize:打印EditLog大小。

    8、tasktracker
    说明:运行MapReduce的task Tracker节点。
    用法:hadoop tasktracker

  • 相关阅读:
    Android Studio 2.2以上支持了Cmake的配置JNI的相关参数
    Unable to instantiate receiver xxx.receiver.NetworkReceiver异常
    关于imageview matrix
    Android NDK开发 JNI操作java构造方法,普通方法,静态方法(七)
    COOKIE和SESSION的区别
    Android NetworkInterface 的 name
    Android ROM资源文件存放位置
    selinux
    当WebView运行在特权进程时抛出安全异常,Hook方式解决方案(包含对Android 8.0的处理)
    Android判断当前是否在主线程
  • 原文地址:https://www.cnblogs.com/ethan-song/p/4864437.html
Copyright © 2011-2022 走看看