http://blog.csdn.net/pipisorry/article/details/51223877

常用命令

启用hadoop

start-dfs.sh

start-hbase.sh

停止hadoop

stop-hbase.sh

stop-dfs.sh

Note:

start-dfs.sh启动出错

出错:Exception in thread "main" java.net.ConnectException: Call From ubuntu-BDMS/127.0.0.1 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

原因:可能是ctrl+c关闭但是并没有关闭进程?或者进程还在运行的时候突然关机把文件损坏了?或者因为在tmp中没有生成对应的pid?

解决方案1:

查看Master是否启动,打开http://master:50070打开网页后看master 的端口

NameNode 'localhost:9000'

将Eclipse 中Hadoop Location 中HDFS的端口更改为正确的端口。

解决方案2:

hadoop namenode -format?

解决方案3:

重启操作系统

文件管理

hdfs读取的文件是dfs文件系统内部的,如String file= "hdfs://localhost:9000/hw1/README.txt";

README.txt并不是主机本地文件系统中的文件,而是copy到hdfs文件系统中的文件。

通过-put可以将主机本地文件copy到hdfs文件系统中$ hdfs dfs -put tpch/orders.tbl /hw1

查看hdfs分布式文件系统中的文件

$ hdfs dfs -ls /

hadoop fs -ls  /

查看hbase中的table

进入hbase: hbase shell

hbase(main):001:0> list

TABLE                                                                           

Result                                                                          

1 row(s) in 3.2030 seconds

=> ["Result"]

HBaseAdmin类中使用下面代码删除table

hAdmin.disableTable(tableName);

hAdmin.deleteTable(tableName);



hbase配置文件在安装目录下的conf目录下

皮皮blog

用户命令

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

[hadoop命令详解]

from: http://blog.csdn.net/pipisorry/article/details/51223877

ref:hadoop高级命令详解

Hadoop Shell命令r1.0.4 : fs shell使用指南

Hadoop 2.7.2: FileSystem Shell

Hadoop:Hadoop基本命令的更多相关文章

  1. [Hadoop]Hadoop章2 HDFS原理及读写过程

    HDFS(Hadoop Distributed File System )Hadoop分布式文件系统. HDFS有很多特点: ① 保存多个副本,且提供容错机制,副本丢失或宕机自动恢复.默认存3份. ② ...

  2. hadoop hadoop install (1)

    vmuser@vmuser-VirtualBox:~$ sudo useradd -m hadoop -s /bin/bash[sudo] vmuser 的密码: vmuser@vmuser-Virt ...

  3. Hadoop hadoop 机架感知配置

    机架感知脚本 使用python3编写机架感知脚本,报存到topology.py,给予执行权限 import sys import os DEFAULT_RACK="/default-rack ...

  4. Hadoop的基本命令【转载】

    在这篇文章中,我们默认认为Hadoop环境已经由运维人员配置好直接可以使用. 假设Hadoop的安装目录HADOOP_HOME为/home/admin/hadoop. 启动与关闭 启动HADOOP 进 ...

  5. [Hadoop] Hadoop学习历程 [持续更新中…]

    1. Hadoop FS Shell Hadoop之所以可以实现分布式计算,主要的原因之一是因为其背后的分布式文件系统(HDFS).所以,对于Hadoop的文件操作需要有一套全新的shell指令来完成 ...

  6. [Hadoop] Hadoop学习笔记之Hadoop基础

    1 Hadoop是什么? Google公司发表了两篇论文:一篇论文是“The Google File System”,介绍如何实现分布式地存储海量数据:另一篇论文是“Mapreduce:Simplif ...

  7. EDW on Hadoop(Hadoop上的数据仓库)技术选型和实践思考

    在这篇文章中, 将讨论EDW on Hadoop 有哪些备选方案, 以及我个人的倾向性, 最后是建构方法.  欢迎转载, 但必须注明原贴(刘忠武,  http://www.cnblogs.com/ha ...

  8. [hadoop] hadoop “util.NativeCodeLoader: Unable to load native-hadoop library for your platform”

    执行 bin/hdfs dfs -mkdir /user,创建目录时出现警告信息. WARN util.NativeCodeLoader: Unable to load native-hadoop l ...

  9. java.io.FileNotFoundException: /home/hadoop/hadoop/dfs/namenode/current/VERSION (Permission denied)

    今天布置hadoop集群,尝试单独将secondarynamenode分属到一台独立的虚拟机上, 当格式化后,start-dfs.sh.namenode没启动.查看日志.报错例如以下 查看权限才发现, ...

  10. [Hadoop] - Hadoop Mapreduce Error: GC overhead limit exceeded

    在运行mapreduce的时候,出现Error: GC overhead limit exceeded,查看log日志,发现异常信息为 2015-12-11 11:48:44,716 FATAL [m ...

随机推荐

  1. 假定某系统提供硬件的访管指令(例如形式:“svc n”),为了实现系统调用,系统设计者应做哪些工作?用户又如如何请求操作系统服务?

    工作: 1.  编写并调试好能实现各种功能的例行子程序. 2.  编写并调试好访管中断处理程序. 3.  构造例行子程序入口地址表. 在用户程序中,需要请求操作系统服务的地方安排一条系统调用.这样,当 ...

  2. mac下IDLE无法输入中文的问题

    解决方法是下载安装新版本的 Tcl/Tk 下载地址:http://www.activestate.com/activetcl/downloads 注意要下最新的8.5.18.0版本,安装好了再重启ID ...

  3. c# error

    部署iis c# 连sqlserver 用IIS发布之后,网页出错.提示为:异常详细信息: System.Data.SqlClient.SqlException: 用户 'NT AUTHORITY\I ...

  4. idea+jsp+jstl c标签页面异常

    先在Schema and DTDs配置C.tld文件 最后提示是少包 网上很多方法都说少jstl.jar 折腾了很久 其实还少standard.jar 以前的解决方法(看下面) 把这两个包分别加到项目 ...

  5. Gradle入门--基本配置

    Gradle配置: Gradle构建脚本 build.gradle Gradle属性文件 gradle.properties Gradle设置文件 settings.gradle build.grad ...

  6. 算法二叉搜索树之AVL树

    最近学习了二叉搜索树中的AVL树,特在此写一篇博客小结. 1.引言 对于二叉搜索树而言,其插入查找删除等性能直接和树的高度有关,因此我们发明了平衡二叉搜索树.在计算机科学中,AVL树是最先发明的自平衡 ...

  7. Linux pip安装使用

    pip安装使用详解 pip类似RedHat里面的yum,安装Python包非常方便.本节详细介绍pip的安装.以及使用方法. 1.pip下载安装 1.1 pip下载   1 # wget " ...

  8. SAS中的剔除空格函数

    left函数:         刪除字符串左边(开头> 的空格right函数:       刪除字符串右边(结尾> 的空格trim函数:         刪除字符串右边(结尾> 的空 ...

  9. delphi 线程教学第七节:在多个线程时空中,把各自的代码塞到一个指定的线程时空运行

    第七节:在多个线程时空中,把各自的代码塞到一个指定的线程时空运行     以 Ado 为例,常见的方法是拖一个 AdoConnection 在窗口上(或 DataModule 中), 再配合 AdoQ ...

  10. JavaScript 注释

    JavaScript 注释可用于提高代码的可读性. JavaScript 注释 JavaScript 不会执行注释. 我们可以添加注释来对 JavaScript 进行解释,或者提高代码的可读性. 单行 ...