离线数据分析平台实战——030Hadoop Shell命令02
hdfs命令
hdfs命令是hadoop提供的操作HDFS分布式文件系统的shell命令客户端,
我们可以通过该命令对分布式文件系统进行文件的增删查操作,
也可以通过该命令获取到一些hadoop的相关配置信息,
而且我们启动hdfs相关服务进程都是通过该命令进行的。
hdfs命令主要分为两类,
一类是用户命令:dfs, fsck等,
一类是管理员命令:dfsadmin,namenode,datanode等。
http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.5.0-cdh5.3.6/
hdfs命令-dfs显示文件夹内容
命令: -ls -lsr
执行:hdfs dfs -ls /
区别:lsr是递归显示
hdfs命令-dfs创建文件夹
命令: -mkdir
执行:hdfs dfs -mkdir -p /bjsxt/hdfs/mkdir
-p指定当需要创建的文件夹存储,那么不报错,默认情况会报错,递归的创建文件夹。 如果我们给定的路径不是以'/'开始的,那么表示在当前用户目录下创建文件夹。(默认情况下是没有当前用户目录的,那么就会报错)。
hdfs命令-dfs上传文件到HDFS
命令: -put
-copyFromLocal
-moveFromLocal
执行:hdfs dfs -put /home/hadoop/bigdater/ /bjsxt/put
本地路径可以指定文件夹或者多个文件,hdfs上的路径必须是根据上传东西的不同,有不同的要求。
1.本地指定的是文件夹,那么hdfs如果目录不存在,就新建目录然后将本地文件夹内容copy过去;hdfs目录存在,则将文件夹copy过去。
2.本地指定的是单个文件,那要求hdfs上指定的文件不存在
3.本地指定的是多个文件,那么要求hdfs上指定的文件夹存在。
hdfs命令-dfs下载文件
命令: -get
-copyToLocal
-moveToLocal
执行:hdfs dfs -get /bjsxt/put ./
get命令和put命令是一对相反命令。put是从本地到集群,get是从集群到本地。基本语法相似。
hdfs命令-dfs查看文件内容
命令: -cat
-text
执行:hdfs dfs -cat /beifeng/test.txt
cat命令和text命令都可以查看文件内容,但是它们的内置机制不一样,cat是copy文件内容,然后显示;text是通过hadoop解析将文件内容转化为文本内容,然后在显示。cat命令只适合看一半的文本文件,而text命令可以看出所有文件。
hdfs命令-dfs删除文件
命令: -rm
-rmdir
执行:hdfs dfs -rm -R /bjsxt/put
rm和rmdir的区别主要是:rm可以删除任何文件/文件夹,rmdir只能够删除空的文件夹。
hdfs命令-fsck
fsck命令是检测hdfs磁盘文件是否有丢失备份异常等信息,可以查看到具体的文件是否处于健康状况,执行命令为: hdfs -fsck <path>
hdfs命令-dfsadmin汇报集群信息
命令:-report
执行:hdfs dfsadmin -report
可以通过该命令查看集群的基本信息,包括总磁盘大小,剩余磁盘大小,丢失块个数等总的集群信息。
hdfs命令-安全模式
命令:-safemode <enter | leave | get | wait>
执行:hdfs dfsadmin -safemode get
当集群中的文件备份出现丢失的时候,可能会进行安全模式。安全模式是指当集群处于该状态下,hdfs解决文件IO操作。我们可以通过该命令强制离开安全模式。
hdfs命令-namenode
namenode命令是hadoop提供的操作NN节点的shell命令入口,包括NN节点的格式化、NN节点升级、NN节点回滚、NN节点启动等操作。 查看帮助信息:hdfs namenode -h
hdfs命令-datanode
datanode命令是hadoop提供的操作ND节点的shell命令入口,包括ND节点启动、DN节点升级、DN节点回滚等操作。 查看帮助信息:hdfs datanode -h
hadoop命令
hadoop命令主要是将hdfs、yarn和mapred全部命令进行一个整合,实际生活中一般情况下主要使用hadoop命令来进行Job的管理到多个集群之间的数据复制问题。常用命令主要有:
job: job生命周期管理,包括提交、查看状态、kill等。
distcp: 多集群间数据复制。
version: 查看hadoop版本信息。
其他命令
mapred命令主要作用对mapred相关服务进行控制。
yarn命令主要作用是对yarn的相关服务进行控制,包括resourcemanager
和nodemanager
的启动以及Job的提交等。
hadoop start-yarn.sh yarn-daemon.sh mr-jobhistory-daemon.sh