在大数据领域,Hadoop作为分布式存储和计算的基础框架,被广泛应用,管理和运维Hadoop集群离不开一系列的常用命令。
一、Hadoop文件系统命令(HDFS)
HDFS是Hadoop的分布式文件系统,以下是一些常用操作命令:
(一)目录操作
1. 创建目录
bash
hdfs dfs -mkdir -p /user/hadoop/newdir
-p 选项用于递归创建目录,即当父目录不存在时一并创建。
2. 查看目录内容
bash
hdfs dfs -ls /user/hadoop
该命令会列出指定目录下的文件和子目录,显示文件权限、所有者、大小、修改时间等信息。
(二)文件操作
1. 上传文件
bash
hdfs dfs -put localfile.txt /user/hadoop/
将本地文件 localfile.txt 上传到HDFS的 /user/hadoop/ 目录下。
2. 下载文件
bash
hdfs dfs -get /user/hadoop/remotefile.txt localdir/
把HDFS上的 remotefile.txt 下载到本地 localdir 目录。
3. 删除文件/目录
bash
hdfs dfs -rm /user/hadoop/file.txt
hdfs dfs -rm -r /user/hadoop/dir
-rm 用于删除文件, -r 选项用于递归删除目录及其内容。
二、MapReduce任务操作命令
MapReduce是Hadoop的核心计算模型,通过以下命令来提交和管理任务:
提交MapReduce任务
bash
hadoop jar /path/to/yourjar.jar com.yourpackage.YourMainClass inputpath outputpath
其中, /path/to/yourjar.jar 是包含MapReduce程序的JAR包路径, com.yourpackage.YourMainClass 是程序的主类, inputpath 和 outputpath 分别是输入和输出路径。
三、Hadoop守护进程管理命令
Hadoop集群由多个守护进程组成,需要对它们进行启动、停止和状态查看:
(一)启动守护进程
1. 启动NameNode
bash
hdfs --daemon start namenode
2. 启动DataNode
bash
hdfs --daemon start datanode
3. 启动ResourceManager(YARN)
bash
yarn --daemon start resourcemanager
4. 启动NodeManager(YARN)
bash
yarn --daemon start nodemanager
也可以使用 start-dfs.sh 和 start-yarn.sh 脚本来一键启动HDFS和YARN相关的守护进程。
(二)停止守护进程
对应启动命令,将 start 替换为 stop 即可停止相应的守护进程,例如:
bash
hdfs --daemon stop namenode
同样, stop-dfs.sh 和 stop-yarn.sh 可以快速停止所有相关守护进程。
(三)查看守护进程状态
bash
hdfs --daemon status namenode
该命令用于查看NameNode的运行状态,类似地可以查看其他守护进程状态。
四、其他常用命令
(一)集群健康状态查看
bash
hdfs dfsadmin -report
该命令会返回HDFS集群的详细信息,包括NameNode信息、DataNode列表及其状态、存储容量使用情况等,通过这些信息可以判断集群是否健康。
(二)查看MapReduce任务执行情况
bash
yarn application -list
列出当前正在运行和历史运行过的YARN应用程序(MapReduce任务),可以结合 -appStates 选项筛选特定状态的任务。
结束语:
掌握这些Hadoop集群常用命令,能极大提高我们对Hadoop集群的管理和运维效率,从文件系统操作到计算任务提交,再到守护进程管理,每一个命令都是我们驾驭大数据集群的有力工具。在实际使用中,还需要根据具体的业务场景和集群配置灵活运用。