Hadoop 常用命令集总览
在大数据处理领域,Hadoop 作为一种广泛应用的分布式系统基础架构,其重要性不言而喻。熟练掌握 Hadoop 的常用命令对于高效的数据处理和分析工作至关重要。本文将对 Hadoop 的常用命令进行专业而详尽的列举,并结合实例进行深入讲解。
一、HDFS 命令
1. 文件和目录操作
-
hadoop fs -ls:
-
功能描述:用于列出指定目录下的文件和目录信息。
-
示例用法:
hadoop fs -ls /user/hadoop
-
该命令执行后,将展示
/user/hadoop
目录下的所有文件和子目录的详细信息,包括文件权限、所有者、大小以及修改时间等。 -
hadoop fs -mkdir:
-
功能描述:创建指定的目录。
-
示例用法:
hadoop fs -mkdir /user/hadoop/test
-
此命令可在 HDFS 中成功创建
/user/hadoop/test
目录。 -
hadoop fs -put:
-
功能描述:将本地文件上传至 HDFS。
-
示例用法:
hadoop fs -put localfile.txt /user/hadoop/
-
该操作会将本地的
localfile.txt
文件上传至 HDFS 的/user/hadoop/
目录下。上传完成后,可使用-ls
命令进行验证,以确认文件是否成功上传。 -
hadoop fs -get:
-
功能描述:将 HDFS 上的文件下载至本地。
-
示例用法:
hadoop fs -get /user/hadoop/hdfsfile.txt localdirectory
-
此命令会将 HDFS 上的
/user/hadoop/hdfsfile.txt
文件下载至本地的localdirectory
目录中。若本地目录不存在,系统将自动创建。 -
hadoop fs -rm:
-
功能描述:删除 HDFS 上的文件或目录。
-
示例用法:
hadoop fs -rm /user/hadoop/testfile.txt
-
该命令用于删除
/user/hadoop
目录下的testfile.txt
文件。若要删除目录,则需加上-r
选项,例如:hadoop fs -rm -r /user/hadoop/testdirectory
2. 文件查看和复制
-
hadoop fs -cat:
-
功能描述:查看文件内容。
-
示例用法:
hadoop fs -cat /user/hadoop/logfile.txt
-
执行该命令后,会在控制台输出
/user/hadoop/logfile.txt
文件的具体内容。 -
hadoop fs -cp:
-
功能描述:在 HDFS 中复制文件或目录。
-
示例用法:
hadoop fs -cp /user/hadoop/sourcefile.txt /user/hadoop/destinationfile.txt
-
此命令将
/user/hadoop/sourcefile.txt
文件复制到/user/hadoop/destinationfile.txt
。若要复制目录,同样需使用-r
选项,例如:hadoop fs -cp -r /user/hadoop/sourcedirectory /user/hadoop/destinationdirectory
3. 文件权限设置
-
hadoop fs -chmod:
-
功能描述:改变文件或目录的权限。
-
示例用法:
hadoop fs -chmod 755 /user/hadoop/testfile.txt
-
这里将
/user/hadoop/testfile.txt
文件的权限设置为755
,即所有者具有读、写、执行权限;组用户有读、执行权限;其他用户有读、执行权限。 -
hadoop fs -chown:
-
功能描述:改变文件或目录的所有者。
-
示例用法:
hadoop fs -chown hadoop:hadoopgroup /user/hadoop/testfile.txt
-
该命令将
/user/hadoop/testfile.txt
文件的所有者改为hadoop
,所属组改为hadoopgroup
。
二、MapReduce 命令
1. 提交作业
-
hadoop jar:
-
功能描述:提交 MapReduce 作业。
-
示例用法:
hadoop jar wordcount.jar WordCount /user/hadoop/input /user/hadoop/output
-
这里使用
hadoop jar
命令提交名为wordcount.jar
的 MapReduce 作业,作业的类名为WordCount
,输入目录为/user/hadoop/input
,输出目录为/user/hadoop/output
。在提交作业前,务必确保输入目录存在且有数据,同时输出目录不存在,否则作业将失败。
2. 查看作业状态
-
hadoop job -list:
-
功能描述:列出所有正在运行和已完成的作业。
-
示例用法:
hadoop job -list
-
执行该命令后,会显示作业的 ID、状态、用户名、提交时间等详细信息。
-
hadoop job -status:
-
功能描述:查看指定作业的详细状态。
-
示例用法:
hadoop job -status job_1234567890123_0001
-
这里将查看作业 ID 为
job_1234567890123_0001
的详细状态,包括作业的进度、各个阶段的完成情况等。
3. 杀死作业
-
hadoop job -kill:
-
功能描述:杀死指定的作业。
-
示例用法:
hadoop job -kill job_1234567890123_0001
-
若发现某个作业运行异常或需要停止,可以使用该命令杀死指定的作业。
YARN 命令
1. 应用程序管理
-
yarn application -list:
-
功能描述:列出 YARN 上运行的应用程序。
-
示例用法:
yarn application -list
-
该命令会显示应用程序的 ID、名称、类型、状态、用户等详细信息。
-
yarn application -kill:
-
功能描述:杀死指定的应用程序。
-
示例用法:
yarn application -kill application_1234567890123
-
当需要强制停止某个在 YARN 上运行的应用程序时,可以使用此命令。
2. 资源管理
-
yarn node -list:
-
功能描述:列出 YARN 集群中的节点信息。
-
示例用法:
yarn node -list
-
执行该命令后,会显示节点的 ID、状态、主机名、可用内存、已使用内存等信息,有助于全面了解集群的资源状况。
-
yarn queue -list:
-
功能描述:列出 YARN 中的队列信息。
-
示例用法:
yarn queue -list
-
可以查看集群中定义的队列名称、状态、资源使用情况等,对于作业的调度和资源分配具有重要意义。
四、其他常用命令
1. Hadoop 版本查看
-
hadoop version:
-
功能描述:查看 Hadoop 的版本信息。
-
示例用法:
hadoop version
-
执行该命令后,会显示 Hadoop 的版本号、编译信息等,方便使用者了解所使用的 Hadoop 版本。
2. 格式化 NameNode
-
hdfs namenode -format:
-
功能描述:在首次安装 Hadoop 或需要重新格式化 NameNode 时使用。
-
示例用法:
hdfs namenode -format
-
注意,格式化 NameNode 会清除 HDFS 上的所有数据,因此在执行此命令前一定要确保数据已经备份或者不需要保留。
3. 启动和停止 Hadoop 服务
-
功能描述:启动 Hadoop 分布式文件系统(HDFS)相关服务,包括 NameNode、DataNode 等。
-
示例用法:
-
功能描述:停止 HDFS 相关服务。
-
示例用法:
-
功能描述:启动 YARN 相关服务,包括 ResourceManager、NodeManager 等。
-
示例用法:
-
功能描述:停止 YARN 相关服务。
-
示例用法:
这些 Hadoop 常用命令涵盖了文件操作、作业管理、资源管理等多个方面,是在 Hadoop 环境中进行数据处理和管理的基本工具。熟练掌握这些命令,能够更加高效地使用 Hadoop 进行大数据处理工作。在实际使用中,应根据具体的需求和场景,合理选择和运用这些命令,以提高工作效率和数据处理的准确性。