`
QING____
  • 浏览: 2251335 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hadoop常用命令[备忘]

 
阅读更多

【Hadoop常用命令】

一、 fsck:hdfs文件系统集群状态检测。

    使用方式:./hadoop fsck <path> [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]

   

./hadoop fsck /

 

 

 

    可选options列表:

    1) path:检测开始的目录。

    2) -move:将corrupted文件迁移到/lost+found文件夹中

    3) -delete:将corrupted文件删除。

    4) -openforwrite:将那些已经打开正在写入操作的文件目录打印在屏幕上,条目信息后面将会提示:

        OPENFORWRITE: ...............Status: HEALTHY

    5) -files:将正在检测的文件信息(名称)打印出来

    6) -blocks:打印文件信息的同时,打印blocks信息。

    7) -locations:打印blocks的位置信息。

    8) -racks:打印blocks的机架信息。

 

>./hadoop fsck /hbase -files -blocks -locations
....
/hbase/hbase.version 7 bytes, 1 block(s):  OK
0. BP-919273630-10.10.187.116-1398752513224:blk_1073741825_1001 len=7 repl=3 [121.10.187.75:50010, 121.10.187.76:50010, 121.10.187.79:50010]

 

 

二、 jar:像“java命令”一样,向hadoop集群提交mapreduce作业jar。

    使用方式:./hadoop jar <jar-path> [mainClass] args...

./hadoop jar ../mapred-lib/statistic-mapred-all.jar QuartzScriptMain

 

   注意,像“java -cp”运行一个main一样,“hadoop jar”命令也需要指定jar路径和main方法所在的类,也可以像java命令一样指定参数,最终hadoop将额外的启动一个“RunJar”进程单独运行。

 

三、job:在运行时查看job的状态。

    1) -submit <job-file>:提交任务,此命令不常用。

    2) -status <job-id>:根据jobId打印出job的进度和job的相关计数器。

    3) -counter <job-id> <group-name> <counter-name>:根据指定的参数查看计数器值。

    4) -kill <job-id>:取消作业执行

    5) -list [all]:展示所有已经执行完毕的作业

    6) -kill-task <task-id>:取消指定的task,task将会重新执行,不过不会增加"attempts"值。

    7) -fail-task <task-id>:让当前task失效,task将会重新执行,相当于运行失败一次,会增加“attempts”值。

    8) -set-priority <job-id> <priority>:修改job的权重,合法权重值为“VERY_HIGH”,"HIGH","NORMAL","LOW","VERY_LOW";修改权重值不一定会生效,比如job已经被调度,或者调度器不支持权重等。

 

四、classpath:打印出hadoop的classpath信息,便于调试程序。

 

五、balancer:集群数据重新平衡,是一个耗时的操作,可以指定-threshold参数表示磁盘的利用率(大于1,小于100的数字)阀值,达到此阀值的node,将会把数据迁移到其他node上;否则不平衡。

    使用方式:hadoop balancer [-policy] [-threshold <num>],policy参数合法值为datanode、blockpool,默认为datanode,blockpool在HDFS Federation架构中有效。

 

六、dfsadmin:hdfs集群管理。

    1) -report:获取hdfs集群的信息和统计数据。

>./hadoop dfsadmin -report
....
Configured Capacity: 173329641472 (161.43 GB)
Present Capacity: 115128503670 (107.22 GB)
DFS Remaining: 112925552640 (105.17 GB)
DFS Used: 2202951030 (2.05 GB)
DFS Used%: 1.91%
Under replicated blocks: 1930
Blocks with corrupt replicas: 0
Missing blocks: 0

-------------------------------------------------
Datanodes available: 2 (2 total, 0 dead)

Live datanodes:
....

 

    2) -safemode <enter | leave | get | wait>:Namenode节点维护命令,让Namenode处于“安全模式”;安全模式下,Namenode不能修改集群中的namespace(即无法创建、删除文件等),处于只读状态,无法备份和删除blocks操作;通常情况下,在namenode启动时,会自动进入safemode,直到恢复完毕,离开安全模式。

    “dfs.namenode.safemode.threshold-pct”默认值为“0.999f”,如果集群中满足“dfs.namenode.replication.min”条件的blocks个数占blocks总数的比例小于此值时,namenode将进入safemode,比如在namenode启动时,或者运行时大量datanode离群。如果此值>=1,那么namenode将永远处于safemode,除非手动操作;如果此值<=0,表示namenode不会等待block即备,将会立即退出安全模式。

    “dfs.namenode.safemode.min.datanodes”默认值为0,如果集群中存活的datanodes的数量少于此值,namenode将进入safemode;如果此值<=0,那么namenode将不会等待datanodes即备,立即退出安全模式;如果此值大于集群中datanodes的实际个数,那么namenode将无法退出安全模式。

    “dfs.namenode.safemode.extension”默认值为30000,当上述两个条件之一达到阀值后,namenode在extension时间之后进入safemode,此值不能太小,以避免集群短时间不稳定或者频繁的动荡,导致namenode可用性降低。

 

    3) -refreshNodes:重新读取hosts和exclude文件,重置Namenode内存中的datanodes列表;通常在管理员修改hdfs-site.xml文件中的“dfs.hosts.exclude”、“dfs.hosts”配置项之后,执行此命令;可以在不重启集群的情况下,让配置文件生效。

    4) -upgradeProgress <status | details | force>:获取集群系统升级的过程、进度状态信息,或者强制升级。(2.2+不可用)

    5) -finalizeUpgrade:升级结束后,可以通过此指令,来删除升级过程产生的文件和旧文件数据。

    6) -metasave <filename>:将Namenode中核心的数据结构保存到文件中,文件将放置在${hadoop.log.dir}中,如果文件存在,则覆盖。这个文件只会包含metada(不包含namespace),按行分割,其中包含“与NameNode保持心跳的Datanodes列表”、“亟待复制的blocks列表”、“正在复制的blocks列表”、“亟待删除的blocks列表”。

 

>./hadoop dfsadmin -metasave meta-2014-08-06.log
....
62 files and directories, 22 blocks = 84 total
Live Datanodes: 3
Dead Datanodes: 0
Metasave: Blocks waiting for replication: 0
Mis-replicated blocks that have been postponed:
Metasave: Blocks being replicated: 0
Metasave: Blocks 0 waiting deletion from 0 datanodes.
Metasave: Number of datanodes: 3
121.10.187.151:50010 IN 317068410880(295.29 GB) 38838272(37.04 MB) 0.00% 300675489792(280.03 GB)....
121.10.187.152:50010 IN 317068410880(295.29 GB) 39108608(37.30 MB) 0.00% 300612202496(279.97 GB)....
121.10.187.153:50010 IN 317068410880(295.29 GB) 39108608(37.30 MB) 0.00% 300626178048(279.98 GB)....

 

 

    7) -setQuota <quota> <dirname>...:对指定目录设定quota(配额),即限定目录下文件个数的大小。通常hdfs并没有对目录设置quota。我可以通过“hdfs dfs -cout -q <dirname>”来查看目录文件配额,默认为“none”(未设定,即Long.MAX_VALUE),如果quota值为负值、或者user不是管理员、或者目录不存在、或者当前目录下的配额已经达到设定值,则会导致操作失败;同时可以使用"-clrQuota <dirname>"来清楚目录下的配额。

    8) -restoreFailedStorage <true | false | check>:当NameNode失效后,是否根据自己的edits日志、fsimage自动恢复,默认为false。通常我们会设定SecondaryNamenode或者backup,关于NameNode的恢复,一般为手动。可以使用check指令获取当前的设置。

 

七、namenode:namenode管理

    使用方式:hadoop namenode [-format] | [-upgrage] | [-rollback] | [-finalize] | [-importCheckpoint]

    1) -format:格式化namenode,这个指令将触发namenode启动,然后format,结束后关闭namenode;我们通常在一个集群重建之后,执行format指令,由namenode生成cluster相关的标识。

    2) -upgrade:升级,具体过程参见相关专门文档。

    3) -rollback:升级失败(或成功后)回滚到前一版本。

    4) -finalize:升级结束后,通过此指令则删除升级过程中的临时文件,以及上一版的备份数据。此后当前版本即作为稳定版本。此后,将无法使用rollback指令。

    5) -importCheckpoint:恢复namenode(需要停机),当需要启动一个节点作为namenode时(新增namenode节点,或者重启失效的namenode),我们可以把现存的namenode的checkpoint文件copy到此机器上,然后通过import指令,恢复namespace数据结构。详情参见其他文档。

 

八、secondarynamenode:辅助namenode操作

    使用方式:hadoop secondarynamenode [-checkpoint [-force]] | [-geteditsize]

    1) -checkpoint [force]:如果editlog的尺寸大于“fs.checkpoint.size”,则secondarynamenode生成checkpoint文件;如果使用-force,则忽略editlog尺寸判定,立即checkpoint。前提是需要关闭secondarynamenode进程。

    2) -geteditsize:打印出当前edit日志的大小。 

  • 大小: 48.4 KB
分享到:
评论

相关推荐

    Hadoop常用命令.pdf

    &gt; hadoop jar test-1.0-SNAPSHOT-jar-with-dependencies.jar /user/test/input /user/test/out 2.运行Jar包指定类中的主函数 &gt; java -cp test-1.0-SNAPSHOT-jar-with-dependencies.jar com.test.main.MainTest

    Hadoop常用命令

    在实际使用过程中,掌握一些常用的Hadoop命令对于管理和维护Hadoop集群至关重要。下面将详细介绍这些命令及其用法。 #### 1. 启动与停止Hadoop集群 - **start-all.sh**: 这个脚本用于启动Hadoop集群中的所有服务,...

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

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

    hadoop常用命令

    这篇文档将详细介绍Hadoop的常用命令,以及如何在Windows环境下进行Hadoop的开发和操作。 首先,我们来了解一下Hadoop的基本命令。`hadoop fs`是Hadoop文件系统(HDFS)的交互接口,用于执行文件系统操作,如`ls`...

    Hadoop Shell命令大全

    下面将详细介绍一些常用命令的使用方法和示例: 1. cat命令:用于查看HDFS文件内容,命令格式为hadoop fs -cat URI [URI …]。例如,查看文件的内容,可以使用命令: ``` hadoop fs -cat hdfs://host1:port1/file...

    hadoop大数据常用命令

    **Hadoop命令通用用法** - **命令**: `hadoop [--config confdir] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]` - **作用**: 执行Hadoop的各种命令。 - **注意**: `-config`用于指定配置文件的位置。 **常规...

    Hadoop期末操作备忘录

    【Hadoop期末操作备忘录】是一份针对学习和使用Hadoop技术的学生或专业人士的重要参考资料。这份备忘录旨在帮助用户在期末复习阶段系统地回顾和掌握Hadoop的核心概念、关键组件以及实际操作技巧,从而在考试或项目中...

    Hadoop fs命令详解.docx

    Hadoop fs命令详解 Hadoop fs命令是Hadoop分布式文件系统(HDFS)的命令行接口,提供了丰富的文件操作命令,方便用户管理和维护HDFS文件系统。本文将详细介绍Hadoop fs命令的使用方法和实践操作。 基本命令 ...

    hadoop和HBase常用shell命令

    Hadoop 和 HBase 常用 shell 命令 在大数据处理中,Hadoop 和 HBase 是两个非常重要的组件。Hadoop 是一个分布式计算框架,用于处理大规模数据,而 HBase 是一个基于 Hadoop 的分布式数据库,用于存储和处理大规模...

    Hadoop Shell命令速查表.pdf

    HDFS命令有两种风格的命令,分别是带有“hadoop fs”前缀和“hdfs dfs”前缀的命令,两者功能相同,用户可以根据个人喜好选择使用。下面是Hadoop Shell命令的具体知识点: 1. 列出目录内容:使用hadoop fs -ls命令...

    hadoop shell命令

    而掌握Hadoop Shell命令是进行数据管理和操作的基础技能之一。 ### Hadoop Shell 命令详解 #### 1. **hadoop fs** `hadoop fs` 命令是访问HDFS(Hadoop分布式文件系统)的主要方式,提供了与文件和目录相关的各种...

    Hadoop shell常用命令

    该文档记录了在linux的shell环境下执行的hadoop的相关操作命令,包括多hafs文件的相关操作

    Hadoop基础命令.docx

    Hadoop基础命令 Hadoop是大数据处理的基础技术之一,能够对大量数据进行存储和处理。Hadoop基础命令是使用Hadoop的基础,以下是Hadoop基础命令的详细解释。 查看目录 使用命令"hadoop fs -ls"可以查看HDFS(Hadoop...

    Hadoop-HDFS常用命令

    Hadoop-HDFS常用命令

    Hadoop HDFS分布式文件系统 常用命令汇总

    Hadoop HDFS分布式文件系统常用命令汇总 Hadoop HDFS分布式文件系统是大数据存储和处理的核心组件。作为一个分布式文件系统,HDFS提供了高可靠性、高可扩展性和高性能的存储解决方案。在使用HDFS时,经常需要执行...

    【大数据】Hadoop常用启动命令.pdf

    以下是一些关键的Hadoop命令: 1. `start-all.sh`: 这个脚本一次性启动所有Hadoop守护进程,包括NameNode、Secondary NameNode、DataNode、JobTracker和TaskTracker。适用于快速启动整个集群,但不推荐在生产环境中...

    hadoop的shell命令大全

    这里囊括了所有操作hadoop的shell命令,十分齐全,,。

    Linux常用的操作命令+hadoop安装指导.docx

    ### Linux常用的操作命令+hadoop安装指导 #### Linux用户与权限管理相关知识点 ##### 了解Linux用户与权限管理的重要性 在Linux系统中,用户管理和权限控制是确保系统安全性和稳定性的重要手段之一。通过合理地...

    hadoop操作命令设置

    为了提升工作效率,简化Hadoop的日常操作,可以通过设置别名(alias)来将Hadoop的常用操作命令调整为更加熟悉、易于记忆的格式。下面,我们将详细探讨如何通过设置别名来优化Hadoop的操作体验。 ### 设置Hadoop...

Global site tag (gtag.js) - Google Analytics