Hadoop-003-HDFS的Shell命令操作

一、进程启停管理

1、一键启停

Hadoop HDFS组件内置了HDFS集群的一键启停脚本。

$HADOOP_HOME/sbin/start-dfs.sh

一键启动HDFS集群执行原理:
在执行此脚本的机器上,启动SecondaryNameNode
读取core-site.xml内容(fs.defaultFS项),确认NameNode所在机器,启动NameNode
读取workers内容,确认DataNode所在机器,启动全部DataNode

$HADOOP_HOME/sbin/stop-dfs.sh
一键关闭HDFS集群执行原理:
在执行此脚本的机器上,关闭SecondaryNameNode
读取core-site.xml内容(fs.defaultFS项),确认NameNode所在机器,关闭NameNode
读取workers内容,确认DataNode所在机器,关闭全部NameNode

2、单独启停

$HADOOP_HOME/sbin/hadoop-daemon.sh
此脚本可以单独控制所在机器的进程的启停
用法:hadoop-daemon.sh (start|status|stop) (namenode|secondarynamenode|datanode)

$HADOOP_HOME/bin/hdfs
此程序也可以用以单独控制所在机器的进程的启停
用法:hdfs --daemon (start|status|stop) (namenode|secondarynamenode|datanode)

二、文件系统操作

1、简介

HDFS作为分布式存储的文件系统,有其对数据的路径表达方式。同Linux系统一样,均是以/作为根目录的组织形式

如何区分呢?
Linux:file:///
HDFS:hdfs://namenode:port/

如上路径:
Linux:file:///usr/local/hello.txt
HDFS:hdfs://hadoop-1:8020/usr/local/hello.txt

2、命令体系

HDFS文件系统的操作命令,Hadoop提供了2套命令体系,用法几乎完全一致

hadoop命令(老版本用法)

hadoop fs [generic options]

hdfs命令(新版本用法)

hdfs dfs [generic options]

三、常用命令

1、创建目录


hadoop fs -mkdir [-p] <path> ...
hdfs dfs -mkdir [-p] <path> ...

	path 为待创建的目录
	-p   选项的行为与Linux mkdir -p一致,它会沿着路径创建父目录。

示例:
hadoop fs -mkdir -p /zhq/test
hadoop fs -mkdir -p file:///home/hadoop/test
hadoop fs -mkdir -p hdfs://hadoop-1:8020/zhq/test2

2、查看目录

hadoop fs -ls [-h] [-R] [<path> ...] 
hdfs dfs -ls [-h] [-R] [<path> ...] 	

	path 指定目录路径
	-h 人性化显示文件size
	-R 递归查看指定目录及其子目录

示例:
 hadoop fs -ls -h -r hdfs://hadoop-1:8020/zhq

3、上传文件

hadoop fs -put [-f] [-p] <localsrc> ... <dst>
hdfs dfs -put [-f] [-p] <localsrc> ... <dst>

	-f 覆盖目标文件(已存在下)
	-p 保留访问和修改时间,所有权和权限。
	localsrc 本地文件系统(客户端所在机器)
	dst 目标文件系统(HDFS)

示例: 
hadoop fs -put hello.txt /zhq
hdfs dfs -put file:///etc/profile hdfs://hadoop-1:8020/zhq

4、查看文件

hadoop fs -cat <src> ... 
hdfs dfs -cat <src> ...
 

示例: 
hadoop fs -cat /zhq/hello.txt
读取大文件可以使用管道符配合more
hadoop fs -cat <src> | more
hdfs dfs -cat <src> | more

5、下载文件

hadoop fs -get [-f] [-p] <src> ... <localdst>
hdfs dfs -get [-f] [-p] <src> ... <localdst>

        下载文件到本地文件系统指定目录,localdst必须是目录
        -f 覆盖目标文件(已存在下)
        -p 保留访问和修改时间,所有权和权限。

6、复制文件

hadoop fs -cp [-f] <src> ... <dst> 
hdfs dfs -cp [-f] <src> ... <dst>

        -f 覆盖目标文件(已存在下)

7、追加文件

hdfs->hdfs之间复制

hadoop fs -appendToFile <localsrc> ... <dst>
hdfs dfs -appendToFile <localsrc> ... <dst>

        将所有给定本地文件的内容追加到给定dst文件。 
        dst如果文件不存在,将创建该文件。 
        如果<localSrc>为-,则输入为从标准输入中读取。

8、移动文件

hadoop fs -mv <src> ... <dst>
hdfs dfs -mv <src> ... <dst>	
        移动文件到指定文件夹下
        可以使用该命令移动数据,重命名文件的名称

9、删除文件

只能删除和追加数据,不能修改

hadoop fs -rm -r [-skipTrash] URI [URI ...]
hdfs dfs -rm -r [-skipTrash] URI [URI ...]	
        删除指定路径的文件或文件夹
        -skipTrash 跳过回收站,直接删除
回收站功能默认关闭,如果要开启需要在core-site.xml内配置:如下配置单位是分钟, 每120分钟检查一次, 如果检查到超过1440分钟就删除
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
 
<property>
<name>fs.trash.checkpoint.interval</name>
<value>120</value>
</property>

vim  /opt/hadoop/etc/hadoop/core-site.xml

无需重启集群,在哪个机器配置的,在哪个机器执行命令就生效。
回收站默认位置在:/user/用户名(hadoop)/.Trash

其他命令参考官方文档: https://hadoop.apache.org/docs/r3.2.4/hadoop-project-dist/hadoop-common/FileSystemShell.html
除了使用命令操作HDFS文件系统外,在HDFS的WEB UI上也可以查看HDFS文件系统的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Double@加贝

非常感谢家人们的打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值