在集群中经常会使用到的一个时hadoop命令,一个是hdfs命令。
Hadoop命令和HDFS命令主要的区别在于它们的使用范围和使用场景。
1.Hadoop命令:
Hadoop命令通常指的是与Hadoop生态系统相关的命令行工具,它们可以用于管理Hadoop集群和与Hadoop相关的各种服务。例如,使用hadoop命令可以启动和停止Hadoop集群中的服务,如YARN、MapReduce等。
Hadoop命令的使用语法通常为hadoop[--config confdir] COMMAND,其中COMMAND可以是各种子命令,用于执行不同的操作,如文件系统的操作、任务的提交和监控等。
2.HDFS命令:
HDFS命令特指用于操作Hadoop分布式文件系统(HDFS)的命令。这些命令允许用户与管理HDFS文件系统进行交互,如文件的上传、下载、查看等。
HDFS命令的使用语法通常为 hdfs dfs,后面跟着具体的操作子命令,如-put用于上传文件,
-cat用于查看文件内容,-get用于下载文件等。
总结来说,Hadoop命令是一个更广泛的概念,它包括了与Hadoop集群管理、服务操作相关的所有命令,而HDFS命令是Hadoop命令的一个子集,专门用于操作HDFS文件系统的命令。此外,`hadoopfs`命令可以用于其他文件系统,而hdfs dfs命令仅限于HDFS文件系统。
我们可以在集群中查看hadoop和hdfs命令可以匹配的参数:
本文我们主要介绍常用HDFS命令。(注意在测试这些命令的时候,我们的集群应该是启动成功)
(1) 查看到集群根目录下的文件或子目录
浏览器查看:
(2)在根目录下创建名为bigdata02目录
[yt@master ~]$ hdfs dfs -mkdir /bigdata02
[yt@master ~]$ hdfs dfs -ls /
(3)上传
a. -moveFromLocal:将本地的文件上传到hdfs中然后删除源文件(剪切)
新建一个student.txt文件并插入了一些数据
输入命令:[yt@master ~]$ hdfs dfs -moveFromLocal ./students.txt /bigdata02
b. -copyFromLocal:将本地的文件上传到hdfs中(复制)
[yt@master ~]$ vim 01.txt
[yt@master ~]$ hdfs dfs -copyFromLocal ./01.txt /bigdata02/
c.-put:效果与-copyFromLocal,开发过程中我们更习惯用-put (生产环境下)
[yt@master ~]$ hdfs dfs -put ./02.txt /bigdata02/
d. -appendToFile:追加一个文件到已经存储的文件末尾
hdfs dfs -appendToFile 03.txt /bigdata02/student.txt
(4) 下载
a.-copyToLocal:从 HDFS 拷贝到本地
[yt@master ~]$ hdfs dfs -copyToLocal /bigdata02/01.txt ./
b.-get:等同于 copyToLocal,开发过程中我们更习惯用-get
[yt@master ~]$ hdfs dfs -get /bigdata02/student.txt ./
(5)其他命令
-ls: 显示目录信息
[yt@master ~]$ hdfs dfs -ls /
2)-cat:显示文件内容
[yt@master ~]$ hdfs dfs -cat /bigdata/students.txt
3)-chgrp、-chmod、-chown:Linux 文件系统中的用法一样,修改文件所属权限
[yt@master ~]$ hdfs dfs -chmod 666 /bigdata
4)-mkdir:创建路径
[yt@master ~]$ hdfs dfs -mkdir /dashuju