概述
所有的Hadoop命令都通过bin/hadoop脚本调用。在没有任何参数的情况下,运行Hadoop脚本将打印该命令描述。
[hduser@hadoop3 hadoop-2.4.1]$ bin/hadoop
Usage: hadoop [--config confdir] COMMAND
where COMMAND is one of:
fs run a generic filesystem user client
version print the version
jar <jar> run a jar file
checknative [-a|-h] check native hadoop and compression libraries availability
distcp <srcurl> <desturl> copy file or directories recursively
archive -archiveName NAME -p <parent path> <src>* <dest> create a hadoop archive
classpath prints the class path needed to get the
Hadoop jar and the required libraries
daemonlog get/set the log level for each daemon
or
CLASSNAME run the class named CLASSNAME
Most commands print help when invoked w/o parameters.
字段
描述
--config confdir
|
配置文件目录,默认是:${HADOOP_HOME}/conf。 |
--loglevel loglevel
|
日志级别,有效的日志级别有:FATAL, ERROR, WARN, INFO, DEBUG, and TRACE. 默认是INFO。 |
通用选项
通用项
Description
-archives <comma separated list of archives>
|
用逗号分隔计算中未归档的文件。 仅仅针对JOB。 |
-conf <configuration file>
|
制定应用程序的配置文件Specify an application configuration file. |
-D <property>=<value>
|
使用给定的属性值。 |
-files <comma separated list of files>
|
用逗号分隔的文件,拷贝到Map reduce机器,仅仅针对JOB |
-jt <local> or <resourcemanager:port>
|
指定一个ResourceManager. 仅仅针对JOB。 |
-libjars <comma seperated list of jars>
|
将用逗号分隔的jar路径包含到classpath中去,仅仅针对JOB。 |
执行所有命令都是通过hadoop shell的命令的,可以分为用户命令和管理员命令。
用户命令
用于Hadoop集群用户命令。
Archive
Hadoop Archive是一个高效地将小文件放入HDFS块中的文件存档文件格式,它能够将多个小文件打包成一个后缀为.har文件,这样减少Namenode内存使用的同时(减少Namenode内存空间可以参考:Hdfs Federation),仍然允许对文件进行透明的访问。
我们要知道创建Archive文件要消耗和原文件一样多的硬盘空间,并且Archive文件不支持压缩,一旦Archive文件创建了就无法改变。如果要修改Archive文件的内容,就需要重新创建Archive文件。
Hadoop Archive目录包含元数据文件(_index 和 _masterindex)和数据文件(part-*),这个_index文件包含了所有文件的名称和他对应part文件的位置。
(1)怎么使用Archive
使用:
hadoop archive -archiveName name -p <parent> [-r <replication factor>] <src>* <dest>
-archiveName 你需要创建的archive的文件名, 例如:foo.har. 名字应该用*.har后缀。<parent>是指定Archive文件的相对路径,例如:
-p /foo/bar a/b/c e/f/g
这里 /foo/bar是a/b/c和e/f/g两个相对路径的父路径. 注意:Archive是MapReduce创建了。所以要在map reduce集群环境下运行它。
-r 指示所需的复制因子;如果该可选参数未指定,将使用10的复制因子。
例如:将/flume
/data目录下的文件归档到/flume文件夹下的test.har文件:
hadoop archive -archiveName test.har -p /flume/ data/ /flume/
例如:使用通配符,将/user/fish/2015 10,11,12月归档到/user/test33文件夹下:
hadoop archive -archiveName combine.har -p /user/fish2015 1[0-2] /user/test33
例如:不指定归档目录,直接归档parent目录:/user/fish/目录到/user/test33文件夹下:hadoop archive -archiveName combine.har -p /user/fish /user/test33
例如:归档多个目录,归档/user/fish/目录下的111,222,333目录到/user/test33文件夹下:hadoop archive -archiveName combine.har -p /user/fish/ 111 222 333 /user/test33
(2)怎么查找Archive文件
[root@hadoopcluster78 bin]# ./hdfs dfs -ls /flume/test.har
Found 4 items
-rw-r--r-- 3 root supergroup 0 2015-09-22 10:43 /flume/test.har/_SUCCESS
-rw-r--r-- 5 root supergroup 541 2015-09-22 10:43 /flume/test.har/_index
-rw-r--r-- 5 root supergroup 23 2015-09-22 10:43 /flume/test.har/_masterindex
-rw-r--r-- 3 root supergroup 3609 2015-09-22 10:43 /flume/test.har/part-0
[root@hadoopcluster78 bin]# ./hdfs dfs -ls har:////flume/test.har/data
Found 4 items
-rw-r--r-- 3 root supergroup 779 2015-09-21 19:53 har:///flume/test.har/data/events-.1442836401377
-rw-r--r-- 3 root supergroup 1155 2015-09-21 19:54 har:///flume/test.har/data/events-.1442836453077
-rw-r--r-- 3 root supergroup 520 2015-09-21 19:55 har:///flume/test.har/data/events-.1442836494183
-rw-r--r-- 3 root supergroup 1155 2015-09-21 20:08 har:///flume/test.har/data/events-.1442837275306
(3)怎样解压Archive文件
串行解压:
[root@hadoopcluster78 bin]# ./hdfs dfs -cp har:////flume/test.har/data /flume/data1
并行解压(Mapreduce),使用DistCp:
[root@hadoopcluster78 bin]# ./hdfs dfs -cp har:////flume/test.har/data /flume/data2
checknative
使用: hadoop checknative [-a] [-h]
命令参数
描述
-a
|
核对所有libraries的可用性 |
-h
|
打印帮助 |
这个命令用来核对可用的本地Code,默认情况下只核对libhadoop的可用性。
[hadoop@hadoopcluster78 bin]$ hadoop checknative
15/08/07 10:48:25 WARN bzip2.Bzip2Factory: Failed to load/initialize native-bzip2 library system-native, will use pure-Java version
15/08/07 10:48:25 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
Native library checking:
hadoop: true /home/hadoop/apache/hadoop-2.4.1/lib/native/libhadoop.so
zlib: true /lib64/libz.so.1
snappy: false
lz4: true revision:99
bzip2: false
classpath
使用: hadoop classpath [--glob |--jar <path> |-h |--help]
命令参数
描述
--glob
|
|
--jar path
|
|
-h ,--help
|
打印帮助信息 |
[hadoop@hadoopcluster78 bin]$ hadoop classpath
/home/hadoop/apache/hadoop-2.4.1/etc/hadoop:/home/hadoop/apache/hadoop-2.4.1/share/hadoop/common/lib/*:/home/hadoop/apache/hadoop-2.4.1/share/hadoop/common/*:/home/hadoop/apache/hadoop-2.4.1/share/hadoop/hdfs:/home/hadoop/apache/hadoop-2.4.1/share/hadoop/hdfs/lib/*:/home/hadoop/apache/hadoop-2.4.1/share/hadoop/hdfs/*:/home/hadoop/apache/hadoop-2.4.1/share/hadoop/yarn/lib/*:/home/hadoop/apache/hadoop-2.4.1/share/hadoop/yarn/*:/home/hadoop/apache/hadoop-2.4.1/share/hadoop/mapreduce/lib/*:/home/hadoop/apache/hadoop-2.4.1/share/hadoop/mapreduce/*:/home/hadoop/apache/hadoop-2.4.1/contrib/capacity-scheduler/*.jar
credential
使用: hadoop credential <subcommand> [options]
命令参数
描述
createalias[-providerprovider-path] |
提示证书被存储为指定别名的用户。如果没有-provider选项的话,那么将会默认使用core-site.xml文件中hadoop.security.credential.provider.path项对应的值。 |
deletealias[-providerprovider-path] [-f] |
删除与所提供的别名对应的证书文件。如果没有-provider选项的话,那么将会默认使用core-site.xml文件中hadoop.security.credential.provider.path项对应的值。这项操作需要通过用户的确认,除非使用了-f选项。 |
list [-providerprovider-path] |
列出所有的证书别名。如果没有-provider选项的话,那么将会默认使用core-site.xml文件中hadoop.security.credential.provider.path项对应的值。 |
该命令在凭证提供者内部管理凭证(credentials),密码(passwords)和秘密(secrets)。
Hadoop的CredentialProvider API支持应用程序拆分,并且要求拆分后的应用如何储存所需的密码(passwords)和秘密(secrets)。为了指明一个Provider的位置和类型,需要在core-site.xml添加hadoop.security.credential.provider.path配置项,或者通过指令中-provider命令选项进行设置。Provider路径是一串以逗号分割的URL字符串。这些字符串会说明Provider的类型和位置,举个例子:
user:///,jceks://file/tmp/test.jceks,jceks:/hdfs@nn1.example.com/my/path/test.jceks
指示当前用户的凭证,需要通过User Provider咨询。存储在本地文件系统的文件/tmp/test.jceks是一个Java Keystore Provider,相应的存储在hdfs上的文件nn1.example.com/my/path/test.jcek也是一个Java Keystore Provider。
当使用credential命令时,它通常要提供密码(password)或秘密(secret)给一个特定的凭证存储provider。为了清晰的表明要显示使用哪个provider存储,可以在命令中使用-provider选项。否则,给定多个provider的时候,则使用的哥非持久的provider,这可能不是你预期的
例如:hadoop credential list -provider jceks://file/tmp/test.jceks
distcp
递归的拷贝文件或者目录。查看上面的示例。
fs
和hdfs脚本的dfs类似
jar
使用: hadoop jar <jar> [mainClass] args...
运行一个jar文件
key
通过KeyProvider管理秘钥
trace
查看和修改Hadoop跟踪(tracing)设置。查看:跟踪(tracing)指南。
version
查看hadoop版本
[hadoop@hadoopcluster78 bin]$ hadoop version
Hadoop 2.4.1
Subversion Unknown -r Unknown
Compiled by root on 2014-07-13T01:39Z
Compiled with protoc 2.5.0
From source with checksum bb7ac0a3c73dc131f4844b873c74b630
This command was run using /home/hadoop/apache/hadoop-2.4.1/share/hadoop/common/hadoop-common-2.4.1.jar
CLASSNAME
使用: hadoop CLASSNAME
运行一个名字叫 CLASSNAME的类。
用户命令
对于hadoop集群管理员很有用的一些命令。
daemonlog
用以设置或获取指定后台进程的日志级别
使用:
hadoop daemonlog -getlevel <host:httpport> <classname>
hadoop daemonlog -setlevel <host:httpport> <classname> <level>
COMMAND_OPTION
Description
-getlevel host:httpportclassname
|
打印运行在<host:port>的守护进程的日志级别。这个命令内部会连接http://<host:port>/logLevel?log=<name> |
-setlevel host:httpportclassnamelevel
|
设置运行在<host:port>的守护进程的日志级别。这个命令内部会连接http://<host:port>/logLevel?log=<name> |
例如:
[root@hadoopcluster78 ~]# hadoop daemonlog -setlevel hadoopcluster78:50070 org.apache.hadoop.hdfs.server.namenode.NameNode WARN
Connecting to http://hadoopcluster78:50070/logLevel?log=org.apache.hadoop.hdfs.server.namenode.NameNode&level=WARN
Submitted Log Name: org.apache.hadoop.hdfs.server.namenode.NameNode
Log Class: org.apache.commons.logging.impl.Log4JLogger
Submitted Level: WARN
Setting Level to WARN ...
Effective level: WARN
[root@hadoopcluster78 ~]# hadoop daemonlog -getlevel hadoopcluster78:50070 org.apache.hadoop.hdfs.server.namenode.NameNode
Connecting to http://hadoopcluster78:50070/logLevel?log=org.apache.hadoop.hdfs.server.namenode.NameNode
Submitted Log Name: org.apache.hadoop.hdfs.server.namenode.NameNode
Log Class: org.apache.commons.logging.impl.Log4JLogger
Effective level: WARN
分享到:
相关推荐
大数据课程自备资料:Hadoop安装指南 + Linux常用操作命令
hadoop安装指南及基本命令主要讲解了在linux下如何搭建hadoop环境以及管理的相关命令
hadoop-commend-guide,官网上的
Facebook的实时Hadoop系统 hadoop的首次使用 Hadoop命令手册 Hadoop权威指南(第2版) hadoop伪分布配置自写 在Windows上安装Hadoop教程
hadoop 全套环境搭建指南,三台虚拟机环境准备 linux基础及shell增强 大数据集群环境准备 zookeeper介绍及集群操作 网络编程
EasyHadoop集群部署文档\Hadoop常用命令\hadoop大数据架构生态技术简介\Hadoop权威指南\Hadoop实战
资源名称:Hadoop云计算一体机实践指南内容简介:全书分为3篇:第1篇(理论部分)对云计算、Hadoop及Linux操作系统进行了简单介绍;第2篇(基础实践部分)主要详细介绍了cemOs系统的安装和集群的搭建、Hadoop集群的常用...
大数据hadoop中HDFS命令指南相关学习,希望能帮到大家!!!
hadoop 权威指南、命令手册、开发者入门专刊、开发者第一期、开发者第二期、开发者第三期、hadoop和hbase安装使用、hadhoop的安装与使用、hadoop的mapReduce执行过程介绍
3、Hadoop命令手册 4、Hadoop权威指南 5、hadoop伪分布配置自写 6、在Windows上安装Hadoop教程 7、Transwarp 8、HDFS基础培训 9、MapReduce基础培训 10、Spark 等等。 另有整套hadoop视频教程和ppt。需要的朋友留下...
下载后解压并进入根目录执行maven编译命令: mvn clean package 注: 1)若未安装maven,请自行安装 2)编译期间需要下载依赖包,请耐心等待!
本文档为Apache官方Hadoop 1.1.0中文文档 ...8.命令手册 9.FS Shell使用指南 10.DistCp使用指南 11.Map-Reduce教程 12.Hadoop本地库 13.Streaming 14.Hadoop Archives 15.Hadoop On Demand 另附带 Hadoop API
3.Zookeeper——Zookeeper客户端命令 4.Zookeeper——Zookeeper内部原理 5.Zookeeper——Zookeeper实战 三、Hive 1.Hive——Hive概述 2.Hive——Hive数据类型 3.Hive——Hive DDL数据定义 4....
导游 apache nginx django uwsgi hadoop hbase linux 命令等实用指南。
:elephant: |在Docker上运行Hadoop 3.3.0 | :ship: 本指南旨在帮助通过Docker执行Hadoop Map Reduce。 通过Hadoop流,使用Java和Python中的作业减少了对作业图的测试。 示例作业的代码取自《数据科学家的Hadoop基础...
单节点/集群部署分步指南 Hadoop 版本:3.2.0 Docker 有用的命令 启动一个 Docker 容器 docker start -i < container-name > # e.g Start a container (already created, see: 'List Docker containers') 进入 ...
大数据常用软件安装指南 一、Hadoop 分布式文件存储系统:HDFS 分布式计算框架:MapReduce 集群资源管理器:YARN 单机伪集群环境搭建 集群环境搭建 常用 Shell 命令 Java API 的使用 基于 Zookeeper 搭建 Hadoop 高...
大数据常用软件安装指南 包括Hadoop、Hive、Spark、Storm、Flink、HBase、Kafka、Zookeeper、Flume、Sqoop等技术的学习 Hadoop 分布式文件存储系统 —— HDFS 分布式计算框架 —— MapReduce 集群资源管理器 —— ...
大数据常用软件安装指南 一、Hadoop 分散文件存储系统 —— HDFS 多元计算框架——MapReduce 集群资源管理器 —— YARN Hadoop单机伪集群环境搭建 Hadoop 云服务环境搭建 HDFS使用Shell命令 HDFS Java API的使用 ...
大数据-HDFS用户指南中文版,详细介绍了Hadoop应用使用的主要分布式存储文件系统,分布式文件系统的管理命令等,适合大数据爱好者学习