hadoop命令有哪些?HDFS和MapReduce常用命令示例
Hadoop是一个允许在跨硬件集群上分布式处理大数据的软件库。它包含两个核心组件:Hadoop Distributed File System (HDFS) 和 Hadoop MapReduce。
Hadoop常用命令
1. HDFS命令:
`hdfs dfs -ls /`:列出HDFS根目录下的所有文件和目录。
`hdfs dfs -put localfile /path`:将本地文件复制到HDFS。
`hdfs dfs -get /path/filename localdir`:从HDFS下载文件到本地。
`hdfs dfs -mkdir /path`:在HDFS上创建目录。
`hdfs dfs -rm -r /path/filename`:从HDFS删除文件或目录。
`hdfs dfs -cat /path/filename`:在控制台上显示文件内容。
`hdfs dfs -tail /path/filename`:显示文件的最后部分。
`hdfs dfs -text /path/filename`:以文本方式显示文件内容。
`hdfs dfs -chgrp -R groupname path`:更改文件或目录的组。
`hdfs dfs -chmod -R 755 path`:更改文件或目录的权限。
`hdfs dfs -df -h /path`:显示指定路径的磁盘使用情况。
`hdfs dfs -du -h /path`:显示指定路径的磁盘使用情况详细信息。
2. MapReduce命令:
`hadoop jar hadoop-mapreduce-examples-.jar wordcount /input /output`:运行一个单词计数示例。
`hadoop jar myscript.jar my.class.name arg1 arg2`:运行自己的MapReduce作业。
`hadoop job -list`:列出所有正在运行和已完成的作业。
`hadoop job -kill job_id`:终止指定的作业。
`hadoop job -log job_id`:查看指定作业的日志。
HDFS和MapReduce常用命令示例
1. HDFS命令示例:
列出HDFS根目录下的所有文件和目录:
bash`hdfs dfs -ls /`
将本地文件`localfile.txt`复制到HDFS的`/user/hadoop/`目录下:
bash`hdfs dfs -put localfile.txt /user/hadoop/`
从HDFS的`/user/hadoop/file.txt`下载到本地目录`/home/hadoop/`:
bash`hdfs dfs -get /user/hadoop/file.txt /home/hadoop/`
在HDFS上创建`/user/hadoop/newdir`目录:
bash`hdfs dfs -mkdir /user/hadoop/newdir`
从HDFS删除`/user/hadoop/file.txt`文件:
bash`hdfs dfs -rm /user/hadoop/file.txt`
查看`/user/hadoop/file.txt`文件内容:
bash`hdfs dfs -cat /user/hadoop/file.txt`
查看`/user/hadoop/file.txt`文件最后100行:
bash`hdfs dfs -tail -n 100 /user/hadoop/file.txt`
以文本方式查看`/user/hadoop/file.txt`文件内容:
bash`hdfs dfs -text /user/hadoop/file.txt`
查看`/user/hadoop/dir1`的磁盘使用情况:
bash`hdfs dfs -df -h /user/hadoop/dir1`
查看`/user/hadoop/dir1`的磁盘使用情况详细信息:
bash`hdfs dfs -du -h /user/hadoop/dir1`
2. MapReduce命令示例:
运行单词计数示例:
bash`hadoop jar hadoop-mapreduce-examples-.jar wordcount /input /output`
运行自己的MapReduce作业`myscript.jar`中的`my.class.name`类,并传递参数`arg1`和`arg2`:
bash`hadoop jar myscript.jar my.class.name arg1 arg2`
列出所有正在运行和已完成的作业:
bash`hadoop job -list`
终止指定ID的作业:
bash`hadoop job -kill job_1234567890abcdef`
查看指定ID的作业日志:
bash`hadoop job -log job_1234567890abcdef`
这些命令和示例只是Hadoop、HDFS和MapReduce的基本用法。在实际应用中,你可能需要根据具体需求进行更复杂的操作。

