赞
踩
目录
1.初识 (操作hadoop文件系统与Linux文件系统类似)
Hadoop HDFS组件内置了HDFS集群的一键启停脚本。
执行原理:
执行原理:
- # 一键启动hdfs集群
- start-dfs.sh
- # 一键关闭hdfs集群
- stop-dfs.sh
-
- # 如果遇到命令未找到的错误,表明环境变量未配置好,可以以绝对路径执行
- /export/server/hadoop/sbin/start-dfs.sh
- /export/server/hadoop/sbin/stop-dfs.sh
除了一键启停外,也可以单独控制进程的启停。
1. $HADOOP_HOME/sbin/hadoop-daemon.sh,此脚本可以单独控制所在机器的进程的启停
用法:hadoop-daemon.sh (start|status|stop) (namenode|secondarynamenode|datanode)
- #会提示已过时,无所谓,不用管
- hadoop-daemon.sh stop datanode
2. $HADOOP_HOME/bin/hdfs,此程序也可以用以单独控制所在机器的进程的启停
用法:hdfs --daemon (start|status|stop) (namenode|secondarynamenode|datanode)
hdfs --daemon stop secondarynamenode
HDFS作为分布式存储的文件系统,有其对数据的路径表达方式。
看下面这两个路径 :
两个路径相同如何区分是LINUX操作系统还是HDFS文件呢?
答案是采取协议头
协议头file:/// 或 hdfs://node1:8020/可以省略
除非你明确需要写或不写会有BUG,否则一般不用写协议头
关于HDFS文件系统的操作命令,Hadoop提供了2套命令体系
1.hadoop命令(老版本用法),用法:hadoop fs [generic options]
2.hdfs命令(新版本用法),用法:hdfs dfs [generic options]
两者在文件系统操作上,用法完全一致用哪个都可以,某些特殊操作需要选择hadoop命令或hdfs命令。
hadoop fs -mkdir [-p] <path> ...
hdfs dfs -mkdir [-p] <path> ...
path 为待创建的目录
-p选项的行为与Linux mkdir -p一致,它会沿着路径创建父目录。
- hadoop fs -mkdir -p /sy/bigdata
- hdfs fs -mkdir -p /sy/hadoop
全路径(加上协议头):
hadoop fs -mkdir -p hdfs://node1:8020/sy/bigdata
在本地Linux系统创建文件夹
hadoop fs -mkdir -p file:///home/hadoop/test
hadoop fs -ls [-h] [-R] [<path> ...]
hadoop fs -ls /
hdfs dfs -ls [-h] [-R] [<path> ...]
hdfs dfs -ls /
path 指定目录路径
-h 人性化显示文件size
-R 递归查看指定目录及其子目录
hdfs dfs -ls -R /
hadoop fs -put [-f] [-p] <localsrc> ... <dst>
- # 完整的带协议头的写法
- hadoop fs -put file:///home/hadoop/text.txt hdfs://node1:8020/
- #不使用协议头
- hadoop fs -put ./haha.txt /
hdfs dfs -put [-f] [-p] <localsrc> ... <dst>
-f 覆盖目标文件(已存在下)
hdfs dfs -put -f ./haha.txt /
-p 保留访问和修改时间,所有权和权限。
hdfs dfs -put -p ./haha.txt /
localsrc 本地文件系统(客户端所在机器)
dst 目标文件系统(HDFS)
hadoop fs -cat <src> ...
hdfs dfs -cat <src> ...
读取指定文件全部内容,显示在标准输出控制台。
- hadoop fs -cat /sy/words.txt
- hdfs dfs -cat /sy/profile
读取大文件可以使用管道符配合more
hadoop fs -cat <src> | more
hdfs dfs -cat <src> | more
从当前HDFS下载到本地Linux。
hadoop fs -get [-f] [-p] <src> ... <localdst>
hdfs dfs -get [-f] [-p] <src> ... <localdst>
hadoop fs -get /test.txt .
下载文件到本地文件系统指定目录,localdst必须是目录
-f 覆盖目标文件(已存在下)
hadoop fs -get -f /test.txt .
-p 保留访问和修改时间,所有权和权限。
hadoop fs -get -p /test.txt .
在HDFS文件系统中复制,从HDFS复制到HDFS
hadoop fs -cp [-f] <src> ... <dst>
hdfs dfs -cp [-f] <src> ... <dst>
-f 覆盖目标文件(已存在下)
hadoop fs -cp /test.txt /text.txt
hadoop fs -appendToFile <localsrc> ... <dst>
hdfs dfs -appendToFile <localsrc> ... <dst>
将所有给定本地文件(Linux)的内容追加到给定dst文件(Hadoop)。
hadoop fs -appendToFile append.txt /test.txt
dst如果文件不存在,将创建该文件。
如果<localSrc>为-,则输入为从标准输入中读取。
HDFS要么删除要么追加,无法指定修改某一行
HDFS->HDFS
hadoop fs -mv <src> ... <dst>
hadoop fs -mv /test.txt /sy/
hdfs dfs -mv <src> ... <dst>
移动文件到指定文件夹下
可以使用该命令移动数据,重命名文件的名称
hadoop fs -rm -r [-skipTrash] URI [URI ...]
hdfs dfs -rm -r [-skipTrash] URI [URI ...]
hadoop fs -rm -r /text.txt
删除指定路径的文件或文件夹
-skipTrash 跳过回收站,直接删除
每两个小时检查一次,若超过1440,则彻底清空。
- vim /export/server/hadoop/etc/hadoop/core-site.xml
- #回收站功能默认关闭,如果要开启需要在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
回收站生效后再删除,会提示移动,而不是直接消失了:
被送到了回收站中:
Apache Hadoop 3.3.4 – Overview
提示
常见的操作自己最好能够记住,其他操作可以根据需要查询文档使用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。