(三) HFDS的shell操作

一、进程启停管理

1.一键启停脚本

启动命令:

$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.单进程启停

除了一键启停外,也可以单独控制进程的启停。

1.$HADOOP_HOME/sbin/hadoop-daemon.sh,此脚本可以单独控制所在机器的进程的启停

用法:hadoop-daemon.sh (start|status|stop) (namenode|secondarynamenode|datanode)

2.$HADOOP_HOME/bin/hdfs,此程序也可以用以单独控制所在机器的进程的启停

用法:hdfs --daemon (start|status|stop) (namenode|secondarynamenode|datanode)

二、文件系统操作命令

1.简要概述

HDFS同Linux系统一样,均是以/作为根目录的组织形式:

  • Linux:/usr/local/hello.txt

  • HDFS:/usr/local/hello.txt

区分:

  • Linux:file:///
  • HDFS:hdfs://namenode:port/

HDFS文件系统的操作命令,Hadoop提供了2套命令体系:

  • hadoop命令(老版本用法),用法:hadoop fs [generic options]

  • hdfs命令(新版本用法),用法:hdfs dfs [generic options]

两者在文件系统操作上,用法完全一致。

2.创建文件夹

命令:

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

参数:

  • -p:与Linux mkdir -p一致,它会沿着路径创建父目录。

示例:

hadoop fs -mkdir -p /itcast/bigdata
hdfs fs -mkdir -p /itheima/hadoop

3.查看指定目录下内容

命令:

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

参数:

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

示例:

hadoop fs -ls /
hdfs fs -ls /

4.上传文件到HDFS指定目录下

命令:

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

参数:

  • -f:覆盖目标文件(已存在下)
  • -p:保留访问和修改时间,所有权和权限。

示例:

hadoop fs -put words.txt /itcast
hdfs dfs -put file:///etc/profile hdfs://node1:8020/itcast

5.查看HDFS文件内容

命令:

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

示例:

hadoop fs -cat /itcast/words.txt
hdfs dfs -cat /itcast/profile

6.下载HDFS文件

命令:

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

参数:

  • -f 覆盖目标文件(已存在下)
  • -p 保留访问和修改时间,所有权和权限。

示例:

[root@node1 ~]# mkdir test
[root@node1 ~]# cd test/
[root@node1 test]# ll
total 0
[root@node1 test]# hadoop fs -get /itcast/zookeeper.out ./
[root@node1 test]# ll
total 20
-rw-r--r-- 1 root root 18213 Aug 18 17:54 zookeeper.out

7.拷贝HDFS文件

命令:

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

参数:

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

示例:

[root@node3 ~]# hadoop fs -cp /small/1.txt /itcast
[root@node3 ~]# hadoop fs -cp /small/1.txt /itcast/666.txt   #重命名
[root@node3 ~]# hadoop fs -ls /itcast
Found 4 items
-rw-r--r--   3 root supergroup          2 2021-08-18 17:58 /itcast/1.txt
-rw-r--r--   3 root supergroup          2 2021-08-18 17:59 /itcast/666.txt

8.追加数据到HDFS文件中

命令:

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

示例:

#追加内容到文件尾部 appendToFile
[root@node3 ~]# echo 1 >> 1.txt
[root@node3 ~]# echo 2 >> 2.txt 
[root@node3 ~]# echo 3 >> 3.txt 
[root@node3 ~]# hadoop fs -put 1.txt /
[root@node3 ~]# hadoop fs -cat /1.txt
1
[root@node3 ~]# hadoop fs -appendToFile 2.txt 3.txt /1.txt
[root@node3 ~]# hadoop fs -cat /1.txt
1
2
3

9.HDFS数据移动操作

命令:

  • hadoop fs -mv <src> ... <dst>
  • hdfs dfs -mv <src> ... <dst>

10HDFS数据删除操作

命令:

  • hadoop fs -rm -r [-skipTrash] URI [URI ...]
  • hdfs dfs -rm -r [-skipTrash] URI [URI ...]

参数:

  • -skipTrash 跳过回收站,直接删除

回收站功能默认关闭,如果要开启需要在core-site.xml内配置:

<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
 
<property>
<name>fs.trash.checkpoint.interval</name>
<value>120</value>
</property>

回收站默认位置在:/user/用户名(hadoop)/.Trash

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

kaiaaaa

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值