Hadoop自带示例程序运行
时间: 2024-06-17 15:06:54 浏览: 252
Hadoop自带了一些示例程序,包括WordCount、PiEstimator、Sort、Join等,这些示例程序可以帮助用户快速上手和了解Hadoop的运行机制。下面是WordCount示例程序的运行步骤:
1. 将需要处理的文件上传到HDFS上(假设为input目录)。
2. 执行以下命令,将WordCount程序打包成一个jar文件。
```
$ bin/hadoop com.sun.tools.javac.Main WordCount.java
$ jar cf wc.jar WordCount*.class
```
3. 执行以下命令,运行WordCount程序。
```
$ bin/hadoop jar wc.jar WordCount input output
```
其中,wc.jar为WordCount程序的jar包,WordCount为程序的类名,input为需要处理的文件目录,output为结果输出的目录。
4. 等待程序执行完成后,查看output目录下的结果文件。
相关问题
如何执行hadoop自带的示例程序,完成单词的统计
在Hadoop中,要执行自带的示例程序(WordCount),你需要按照以下步骤进行:
1. **启动集群**:首先,确保Hadoop环境已经安装并配置好,包括Hadoop主节点(通常是 Namenode)和至少一个工作节点。启动Hadoop守护进程,如ResourceManager、NodeManager 和 DataNode。
2. **复制数据到HDFS**:将你想要分析的数据文件(如text.txt)从本地文件系统拷贝到HDFS的输入目录,通常默认为`/user/hadoop/input`。可以用`hadoop fs -put`命令来复制。
3. **编写WordCount作业**:Hadoop提供了一个名为`mapred-examples.jar`的jar包,包含WordCount程序。你可以使用`hadoop jar`命令运行它,像这样:
```
hadoop jar /path/to/mapred-examples.jar wordcount /input/path /output/path
```
其中,`/input/path`是输入文件路径,`/output/path`是结果输出路径,格式将是 `<jobname>-<partition>`。
4. **等待作业完成**:作业会在Hadoop集群上并行处理,完成后你可以在HDFS的输出目录中看到统计的结果文件。
5. **查看结果**:最后,你可以使用`hadoop fs -cat`命令来查看生成的文本文件,显示每个单词及其计数。
进入Linux系统,使用1个节点完成Hadoop伪分布式模式的安装。完成Hadoop的安装以后,运行Hadoop自带的WordCount测试样例。
在Linux系统上设置Hadoop的伪分布式模式通常包括以下几个步骤:
1. **下载和解压Hadoop**: 首先访问Apache Hadoop官网下载适合版本的Hadoop压缩包,然后解压到指定目录,如`/usr/local/hadoop`。
2. **配置环境变量**: 创建一个配置文件`conf/hadoop-env.sh`,添加如下内容:
```
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
```
3. **创建伪分布配置**: 创建`conf/core-site.xml` 和 `conf/mapred-site.xml` 文件,并配置基本属性,例如:
```xml
core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
mapred-site.xml:
<configuration>
<property>
<name>mapreduce.jobhistory.address</name>
<value>localhost:10020</value>
</property>
<!-- 其他属性配置 -->
</configuration>
```
4. **启动守护进程**: 使用命令行启动Hadoop的守护进程,如NameNode(`bin/start-dfs.sh`),JobTracker(`bin/start-yarn.sh`)。
5. **运行WordCount示例**: 从Hadoop的examples目录下找到wordcount.jar文件,将其上传至HDFS:
```
hdfs dfs -put /path/to/examples/wordcount/*.jar /user/hadoop/
```
然后在本地运行WordCount作业:
```
hadoop jar wordcount.jar wordcount input.txt output
```
6. **检查结果**: WordCount完成后,可以在本地查看`output`目录下的结果。
**注意事项:**
- 以上操作假设你已经有一个可用的Java环境,因为WordCount是一个Java程序。
- 伪分布式模式主要用于开发和测试,不适合大规模生产环境。
阅读全文