`

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

 

From: http://www.cnblogs.com/linjiqin/p/3147856.html

分享到:
评论
1 楼 太阳河 2014-11-08  
  

相关推荐

    hadoop常用命令详解,配有例子说明

    hadoop的常用命令详解,并配有例子说明详细信息

    Hadoop fs命令详解.docx

    本文罗列了Hadoop的文件操作命令大全,随时需要,均可以根据实际需要随时查询。特别适合刚入行大数据的小伙伴,必备工具。

    Hadoop HDFS_Shell命令详解.pdf

    Hadoop HDFS_Shell命令详解

    hadoop技术学习资料

    3、Hadoop命令手册 4、Hadoop权威指南 5、hadoop伪分布配置自写 6、在Windows上安装Hadoop教程 7、Transwarp 8、HDFS基础培训 9、MapReduce基础培训 10、Spark 等等。 另有整套hadoop视频教程和ppt。需要的朋友留下...

    Hadoop从入门到上手企业开发

    024 Hadoop相关命令中的【–config configdir】作用 025 Hadoop 目录结构 026 Eclipse导入Hadoop源码项目 027 HDFS 设计目标 028 HDFS 文件系统架构概述 029 HDFS架构之NameNode和DataNode 030 HDFS 架构讲解总结 ...

    Hadoop操作命令

    本文档是关于大数据hadoop生态圈中hdfs组件的一些常用操作命令详解和使用方法

    Hadoop集群(1-11期)

    Hadoop集群·WordCount运行详解(第6期) Hadoop集群·Eclipse开发环境设置(第7期) Hadoop集群·HDFS初探之旅(第8期) Hadoop集群·MapReduce初级案例(第9期) Hadoop集群·MySQL关系数据库(第10期) Hadoop...

    详解从 0 开始使用 Docker 快速搭建 Hadoop 集群环境

    使用 ssh 命令连接远程服务器。 ssh root@[Your IP Address] 更新软件列表 apt-get update 更新完成。 安装 Docker sudo apt-get install docker.io 当遇到输入是否继续时,输入「Y/y」继续。 安装完成 ...

    Hadoop 中 HBase Shell命令的详解

    主要介绍了Hadoop 中 HBase Shell命令的详解的相关资料,需要的朋友可以参考下

    ubuntu15.10下hadoop2.7.2的安装与配置详解

    网上和很多书上都有不少的hadoop在linux系统下的安装教程,但是尝试过的读者会发现,就算是按照这些教程一步步的操作,还是会在某个地方出错,主要原因是版本问题。尤其是书上的版本一般都较老,所以并不建议对着书...

    详解使用docker搭建hadoop分布式集群

    使用Docker搭建部署Hadoop分布式集群 在网上找了很长时间都没有找到使用docker搭建hadoop分布式集群的文档,没办法,只能自己写一个了。 一:环境准备: 1:首先要有一个Centos7操作系统,可以在虚拟机中安装...

    Hadoop+Hive+Spark+Kafka+Zookeeper+Flume+Sqoop+Azkaban+Scala

    一、Hadoop 分布式文件存储系统:HDFS 分布式计算框架:MapReduce 集群资源管理器:YARN 单机伪集群环境搭建 集群环境搭建 常用 Shell 命令 Java API 的使用 基于 Zookeeper 搭建 Hadoop 高可用集群 二、Hive 简介及...

    hbase shell基础和常用命令详解

    HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务。 1. 简介 HBase是一个分布式的、面向列的开源数据库,源于...

    详解Ubuntu16.04下Hadoop 2.7.3的安装与配置

    一、Java环境搭建 (1)下载JDK并解压(当前操作系统为Ubuntu16.04,jdk版本为jdk-8u111-Linux-x64.tar.gz) 新建/usr/java目录,切换到jdk-8u111-linux-x64.tar.gz所在目录,将这个文件解压缩到/usr/java目录下。...

    linux命令详解之useradd命令使用方法

    Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,...另一方面也可以帮助用户组织文件,并为用户提供安全性保护。... ...用户口令的管理。用户组的管理。 ...

    Hadoop集群搭建,hive数据仓文档.docx

    包含虚拟机的安装步骤,centos系统安装,网络配置,环境配置,集群配置,详细命令,图文详解。

    大数据学习路线 大数据技术栈思维导图 大数据常用软件安装指南

    HDFS 常用 Shell 命令 HDFS Java API 的使用 基于 Zookeeper 搭建 Hadoop 高可用集群 Hive Hive 简介及核心概念 Linux 环境下 Hive 的安装部署 Hive CLI 和 Beeline 命令行的基本使用 Hive 常用 DDL 操作 Hive 分区...

    大数据课程体系.pdf

    Linux 启动流程,运行级别详解,chkconfig 详解 nano 编辑器 Linux 权限管理:用户、组 Linux 权限管理:文件权限 rwx Linux 网络管理:hosts,hostname,ifconfig 安装 JDK Hadoop Hadoop 介绍,发展史,国内外现状...

    Java大数据培训学校全套教程-50)Hadoop与MapReduce最入门

     通过学习Hadoop的安装与配置,hdfs常用命令,WordCount程序详解,Shuffle过程详解,WordCount程序结果分析,Hadoop,HDFS,MapReduce,NameNode和DataNode,yarn,ResourceManager,NodeManager的概念等让大家对Hadoop和...

    非常好的大数据入门目资源,分享出来.zip

    HDFS 常用 Shell 命令 HDFS Java API 的使用 基于 Zookeeper 搭建 Hadoop 高可用集群 二、Hive Hive 简介及核心概念 Linux 环境下 Hive 的安装部署 Hive CLI 和 Beeline 命令行的基本使用 Hive 常用 DDL 操作 Hive ...

Global site tag (gtag.js) - Google Analytics