hadoop 常用命令

hadoop Apache版本的启动命令

start-all.sh 启动所有的Hadoop守护进程。包括NameNode、 Secondary NameNode、DataNode、JobTracker、 TaskTrack
stop-all.sh 停止所有的Hadoop守护进程。包括NameNode、 Secondary NameNode、DataNode、JobTracker、 TaskTrack
start-dfs.sh 启动Hadoop HDFS守护进程NameNode、SecondaryNameNode和DataNode
stop-dfs.sh 停止Hadoop HDFS守护进程NameNode、SecondaryNameNode和DataNode
hadoop-daemons.sh start namenode 单独启动NameNode守护进程
hadoop-daemons.sh stop namenode 单独停止NameNode守护进程
hadoop-daemons.sh start datanode 单独启动DataNode守护进程
hadoop-daemons.sh stop datanode 单独停止DataNode守护进程
hadoop-daemons.sh start secondarynamenode 单独启动SecondaryNameNode守护进程
hadoop-daemons.sh stop secondarynamenode 单独停止SecondaryNameNode守护进程
start-mapred.sh 启动Hadoop MapReduce守护进程JobTracker和TaskTracker
stop-mapred.sh 停止Hadoop MapReduce守护进程JobTracker和TaskTracker
hadoop-daemons.sh start jobtracker 单独启动JobTracker守护进程
hadoop-daemons.sh stop jobtracker 单独停止JobTracker守护进程
hadoop-daemons.sh start tasktracker 单独启动TaskTracker守护进程
hadoop-daemons.sh stop tasktracker 单独启动TaskTracker守护进程

Hadoop基本操作命令

假设Hadoop的安装目录HADOOP_HOME/home/admin/hadoop

启动与关闭

启动Hadoop

1.进入HADOOP_HOME目录。

2.执行sh bin/start-all.sh

关闭Hadoop

1.进入HADOOP_HOME目录。

2.执行sh bin/stop-all.sh

文件操作

Hadoop使用的是HDFS,能够实现的功能和我们使用的磁盘系统类似。并且支持通配符,如*

查看文件列表

查看hdfs/user/admin/aaron目录下的文件。

1.进入HADOOP_HOME目录。

2.执行sh bin/hadoop fs -ls /user/admin/aaron

这样,我们就找到了hdfs/user/admin/aaron目录下的文件了。

我们也可以列出hdfs/user/admin/aaron目录下的所有文件(包括子目录下的文件)。

1.进入HADOOP_HOME目录。

2.执行sh bin/hadoop fs -lsr /user/admin/aaron

创建文件目录

查看hdfs/user/admin/aaron目录下再新建一个叫做newDir的新目录。

1.进入HADOOP_HOME目录。

2.执行sh bin/hadoop fs -mkdir /user/admin/aaron/newDir

删除文件

删除hdfs/user/admin/aaron目录下一个名叫needDelete的文件

1.进入HADOOP_HOME目录。

2.执行sh bin/hadoop fs -rm /user/admin/aaron/needDelete

删除hdfs/user/admin/aaron目录以及该目录下的所有文件

1.进入HADOOP_HOME目录。

2.执行sh bin/hadoop fs -rmr /user/admin/aaron

上传文件

上传一个本机/home/admin/newFile的文件到hdfs/user/admin/aaron目录下

1.进入HADOOP_HOME目录。

2.执行sh bin/hadoop fs –put /home/admin/newFile /user/admin/aaron/

下载文件

下载hdfs/user/admin/aaron目录下的newFile文件到本机/home/admin/newFile

1.进入HADOOP_HOME目录。

2.执行sh bin/hadoop fs –get /user/admin/aaron/newFile /home/admin/newFile

查看文件

我们可以直接在hdfs中直接查看文件,功能与类是cat类似

查看hdfs/user/admin/aaron目录下的newFile文件

1.进入HADOOP_HOME目录。

2.执行sh bin/hadoop fs –cat /home/admin/newFile

MapReduce Job操作

提交MapReduce Job

原则上说,Hadoop所有的MapReduce Job都是一个jar包。

运行一个/home/admin/hadoop/job.jarMapReduce Job

1.进入HADOOP_HOME目录。

2.执行sh bin/hadoop jar /home/admin/hadoop/job.jar [jobMainClass] [jobArgs]

杀死某个正在运行的Job

假设Job_Id为:job_201005310937_0053

1.进入HADOOP_HOME目录。

2.执行sh bin/hadoop job -kill job_201005310937_0053


CDH

日志目录   /opt/cm-5.7.1/log

启动目录   /opt/cm-5.7.1/sbin



杀死Applications

yarn application -kill application_1464423440626_0567

选项名称 使用格式 含义
- ls -ls <路径> 查看指定路径的当前目录结构
- lsr -lsr <路径> 递归查看指定路径的目录结构
- du -du <路径> 统计目录下个文件大小
- dus -dus <路径> 汇总统计目录下文件(夹)大小
- count -count [-q] <路径> 统计文件(夹)数量
- mv -mv <源路径> <目的路径> 移动
- cp -cp <源路径> <目的路径> 复制
- rm -rm [-skipTrash] <路径> 删除文件/空白文件夹
- rmr -rmr [-skipTrash] <路径> 递归删除
- put -put <多个linux上的文件> <hdfs路径> 上传文件
- copyFromLocal -copyFromLocal <多个linux上的文件> <hdfs路径> 从本地复制
- moveFromLocal -moveFromLocal <多个linux上的文件> <hdfs路径> 从本地移动
- getmerge -getmerge <源路径> <linux路径> 合并到本地
- cat -cat <hdfs路径> 查看文件内容
- text -text <hdfs路径> 查看文件内容
- copyToLocal -copyToLocal [-ignoreCrc] [-crc] [hdfs源路径] [linux目的路径] 从本地复制
- moveToLocal -moveToLocal [-crc] <hdfs源路径> <linux目的路径> 从本地移动
- mkdir -mkdir <hdfs路径> 创建空白文件夹
- setrep -setrep [-R] [-w] <副本数> <路径> 修改副本数量
- touchz -touchz <文件路径> 创建空白文件
- stat -stat [format] <路径> 显示文件统计信息
- tail -tail [-f] <文件> 查看文件尾部信息
- chmod -chmod [-R] <权限模式> [路径] 修改权限
- chown -chown [-R] [属主][:[属组]] 路径 修改属主
- chgrp -chgrp [-R] 属组名称 路径 修改属组
- help -help [命令选项]
帮助 简化hadoop命令,在用户根目录下 vi .bashrc
在最后添加:alias fs='hadoop fs'
alias fsa='hadoop dfsadmin'
执行source .bashrc即可生效
fs -ls
fs -mkdir input
fsa -safemode leave等等命令

Hortonworks Hadoop区别于其他的Hadoop发行版(如Cloudera)的根本就在于,Hortonworks的产品均是百分之百开源。
Cloudera有免费版和企业版,企业版只有试用期。
apache hadoop则是原生的hadoop。

目前在中国流行的是apache hadoop,Cloudera CDH,当然Hortonworks也有用的

Apache Ambari是一个基于web的工具,用于配置、管理和监视Apache Hadoop集群,支持Hadoop HDFS,、

Hadoop MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari同样还提供了集群状况仪表盘,

比如heatmaps和查看MapReduce、Pig、Hive应用程序的能力,以友好的用户界面对它们的性能特性进行诊断。


显示报错no tasktracker to stop ,no datanode to stop


问 题的原因是:hadoop在stop的时候依据的是datanode上的mapred和dfs进程号。而默认的进程号保存在/tmp下,linux默认会每 隔一段时间(一般是一个月或者7天左右)去删除这个目录下的文件。因此删掉hadoop-hadoop-jobtracker.pid和hadoop- hadoop-namenode.pid两个文件后,namenode自然就找不到datanode上的这两个进程了。
在配置文件中$HADOOP_HOME/conf/hadoop-env.sh中export HADOOP_PID_DIR=${HADOOP_HOME}/pids可以解决这个问题


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值