本篇仅记载部分常用命令
若无所需命令可查看官方网站Apache Hadoop 3.3.6 – Overview
注:一切命令仅在启动HDFS集群后执行,否则会报错
注:仅在hadoop用户下操作
在Linux中超级用户是:root
但HDFS的超级用户是:启动namenode的用户,及本篇文 章的hadoop用户
如用root用户执行hadoop命令会报错
hadoop fs [generic options]
hdfs dfs [generic options]
file:///
hdfs://namenode:port/
例:
- Linux:file:///usr/local/hello.txt
- HDFS: hdfs://node1:8020/usr/local/hello.txt
-
- # 注:协议头file:///或hdfs://node1:8020/可以省略
- # 除非明确要写或者不写有BUG,否则一般不用写
- # 一键启动HDFS集群
- start-dfs.sh
-
- # 一键停止HDFS集群
- stop-dfs.sh
注:仅控制所在机器的进程的启停
- hadoop-daemon.sh (start|status|stop) (namenode|secondarynamenode|datanode)
-
- hdfs --daemon (start|status|stop) (namenode|secondarynamenode|datanode)
-
- # start 启动 status 查看状态 stop 停止
例:jps命令是查看当前启动的集群,目前是都启动了
利用hadoop-daemon.sh stop datanode命令将datanode进程给停止了
注:warning是表明hadoop-daemon.sh这个命令过时了,推荐用hdfs --daemon
但不影响使用
- hadoop fs -mkdir [-p]
... -
- hdfs dfs -mkdir [-p]
... -
- # path 为待创建的目录
- # -p 沿着路经创建父目录
例:创建/huan/haha文件夹
注:hadoop fs -ls / 查看hadhdfs的hdfs根目录下的内容
hadoop fs -ls /huan 查看hadhdfs的hdfs的huan目录下的内容
- hadoop fs -ls [-h] [-R] [
...] -
- hdfs dfs -ls [-h] [-R] [
...] -
- # path 指定目录路径
- # -h 人性化显示文件size
- # -R 递归查看指定目录及其子目录
- hadoop fs -put [-f] [-p]
... -
- hdfs dfs -put [-f] [-p]
... -
- # -f 覆盖目标文件(已存在的)
- # -p 保留访问和修改时间,所有权和权限
- # localsrc 本地文件系统(客户端所在机器)
- # dst 目标文件系统(HDFS)
例:将Liunx目录下的test.txt上传到hdfs根目录下
- hadoop fs -cat
... -
- hdfs dfs -cat
...
- hadoop fs -cat
| more -
- hdfs dfs -cat
| more -
- # 按空格可翻页查看
例:查看text.txt文件中的内容
- hadoop fs -get [-f] [-p]
... -
- hdfs dfs -get [-f] [-p]
... -
- # localdst 必修是目录
- # -f 覆盖目标文件 (已存在)
- # -p 保留访问和修改时间,所有权和权限
例:将HDFS的huan下载到Linux
注:可将复制的文件改名
- hadoop fs -cp [-f]
... -
- hdfs dfs -cp [-f]
... -
- # -f 覆盖目标文件(已存在)
例:将HDFS下的test.txt文件复制到HDFS下的huan目录下
例:将test,txt复制到huan目录下改名为ad.txt
- hadoop fs -appendToFile
... -
- hdfs dfs -appendToFile
... -
- # 将所有给定本地文件的内容追加到给定dst文件
- # dst如果文件不存在,将创建该文件
例:创建app.txt文件,将其添加到HDFS的test.txt文件中
- hadoop fs -mv
... -
- hdfs dfs -mv
... -
- # 移动文件到指定文件夹下,可重命名文件名称
例:将HDFS下的test.txt移动到HDFS下的huan目录下并改名为qwe.txt
- hadoop fs -rm -r [-skipTrash] URI [URI ...]
-
- hdfs dfs -rm -r [-skipTrash] URI [URI ...]
-
- # 删除指定路径的文件或文件夹
- # -skipTrash 跳过回收站,直接删除
注: 1440代表在回收站的时间为一天,120表示俩小时检查一次回收站,将到时间的清除
回收站在哪个机器配则在哪个机器生效
例:将huan目录下的qwe.txt删除
- hadoop fs -chown [-R] root:root /xxx.txt
-
- hdfs dfs -chown [-R] root:root /xxx.txt
例:将huan目录下的ad.txt改为root用户
- hadoop fs -chmod [-R] 777 /xxx.txt
-
- hdfs dfs -chmod [-R] 777 /xxx.txt
例:将huan目录下的text.txt文件权限修改为777