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的基本用法。在实际应用中,你可能需要根据具体需求进行更复杂的操作。