一、前述
(1)启动Hadoop所有进程
start-all.sh等价于start-dfs.sh + start-yarn.sh
但是一般不推荐使用start-all.sh(因为开源框架中内部命令启动有很多问题)。
(2)单进程启动
启动HDFS:
sbin/start-dfs.sh
sbin/hadoop-daemons.sh --config .. --hostname .. start namenode ... sbin/hadoop-daemons.sh --config .. --hostname .. start datanode ... sbin/hadoop-daemons.sh --config .. --hostname .. start sescondarynamenode ... sbin/hadoop-daemons.sh --config .. --hostname .. start zkfc ... //
启动YARN:
sbin/start-yarn.sh
libexec/yarn-config.sh sbin/yarn-daemon.sh --config $YARN_CONF_DIR start resourcemanager sbin/yarn-daemons.sh --config $YARN_CONF_DIR start nodemanager
(3)关闭Hadoop所有进程
关闭Hadoop服务:
stop-all.sh
(4)格式化
hdfs namenode -format
二、常用命令
(1)查看指定目录下内容
hdfs dfs –ls [文件目录]
hdfs dfs -ls -R [文件目录] //显式目录结构
hdfs dfs -ls -d [文件目录] //返回的是path
hdfs dfs -ls -h [文件目录] //h指的是“human-readable”,按照人性化的单位显示文件大小
eg:hdfs dfs –ls /user/wangkai.pt
(2)查看某个文件
hdfs dfs –cat [file_path]
eg:hdfs dfs -cat /user/wangkai.pt/data.txt
(3)创建文件夹
hdfs dfs -mkdir [文件夹名称] //父目录存在的情况下
hdfs dfs -mkdir -p [文件夹名称] //父目录不存在(首先会创建父目录)
(4)新建文件
hdfs dfs -touchz <paths>
(5)将本地文件夹存储至HDFS
hdfs dfs -put [-f] [-p] [本地目录] [hdfs目录]
hdfs dfs -copyFromLocal [-f] [-p] [-l] [本地目录] [hdfs目录]
put 或 copyFromLocal命令是将本地文件上传到HDFS。
(6)将本地文件移动到HDFS
hdfs dfs -moveFromLocal [本地目录] [hdfs目录]
使用这个命令,本地文件会被删除,移到了hdfs上
(7)下载文件
hdfs dfs -get [-p] [hdfs文件目录] [本地目录]
hdfs dfs -copyToLocal [-p] [-ignoreCrc] [-crc] [hdfs文件目录] [本地目录]
get 或 copyToLocal 命令把文件从分布式系统复制到本地
(8)删除hadoop上指定文件或目录
hdfs dfs –rm [hdfs文件地址]
eg:hdfs dfs –rm /user/t/ok.txt
hdfs dfs -rm [-f] [-r] [hdfs文件目录]
-f:如果要删除的文件不存在,不显示错误信息。
-r/R:级联删除目录下的所有文件和子目录文件。
(9)将hadoop上某个文件重命名
使用mv命令:
hdfs dfs –mv /user/test.txt /user/ok.txt (将test.txt重命名为ok.txt)
(10)显示占用的磁盘空间大小
hdfs dfs -du [-s] [-h] <path>
按字节显示目录所占空间的大小。-s指的是显示指定目录下的文件总的大小,-h指的是“human-readable”,按照人性化的单位显示文件大小。
(11)HDFS中的文件复制
hdfs dfs -cp [-f] [-p | -p[topax]] [本地目录] [hdfs目录]
-f:如果目录文件存在,将强行覆盖。
-p:将保存文件的属性。
(12)统计
hdfs dfs -count [-q] [-h] <path>
统计某个目录下的子目录与文件的个数及大小。统计结果包含目录数、文件数、文件大小。
(13)HDFS中的文件合并后下载到本地
hdfs dfs -getmerge [-nl] [hdfs文件目录] [本地目录]
(14)将正在运行的hadoop作业kill掉
hadoop job –kill [job-id]
(15)安全模式
安全模式(Safemode)是HDFS所处的一种特殊状态。处于这种状态时,HDFS只接受读数据请求,不能对文件进行写、删除等操作。
a 查看当前状态
hdfs dfsadmin -safemode get
b 进入安全模式
hdfs dfsadmin -safemode enter
c 强制离开安全模式
hdfs dfsadmin -safemode leave
d 一直等待,知道安全模式结束
hdfs dfsadmin -safemode wait
(16)查看帮助
hdfs dfs -help
(17)设置扩展属性
hdfs dfs -setfattr {-n name [-v value] | -x name} <path>
其中,采用hdfs dfs -setfattr -n name [-v value] | -x name 可以设置属性。
采用hdfs dfs -setfattr -x name 可以删除属性。
-n:指定属性名称(设置属性时用)
-v:指定属性值
-x:指定属性的名称(删除属性时用)
(18)获取扩展属性
hdfs dfs -getfattr [-R] {-n name [-v value] | -x name} <path>
-n:指定属性名称
-d:指定dump,即显示所有属性
-e:指encoding,包含text、hex、base64等。
(19)HDFS管理命令
报告文件系统的基本信息和统计信息
hdfs dfsadmin -report
查看拓扑
hdfs dfsadmin -printTopology
以上命令基本上为Hadoop的常用命令,除此之外均为其他命令。