太棒了 ✅
我们来一步步在 单台 CentOS 上跑通第一个 Hadoop MapReduce 程序,你只要已经安装好了:

  • JDK(建议 118

  • Hadoop(你之前装的是 /opt/hadoop/hadoop-3.4.1

接下来只要 配置伪分布式 + 运行示例 WordCount 程序 就可以了。


📝 第 1 步:配置伪分布式环境

进入 Hadoop 配置目录:

cd /opt/hadoop/hadoop-3.4.1/etc/hadoop

然后编辑以下 4 个配置文件:


core-site.xml

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>

hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

mapred-site.xml

先复制模板文件:

cp mapred-site.xml.template mapred-site.xml

然后写入:

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

yarn-site.xml

<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>

📝 第 2 步:配置环境变量(hadoop-env.sh)

vim /opt/hadoop/hadoop-3.4.1/etc/hadoop/hadoop-env.sh

添加:

export JAVA_HOME=/opt/jdk-11.0.27

📝 第 3 步:格式化 HDFS

⚠️ 第一次用必须格式化

hdfs namenode -format

📝 第 4 步:启动 Hadoop 所有服务

start-dfs.sh
start-yarn.sh

查看是否启动成功:

jps

应看到:

NameNode
DataNode
SecondaryNameNode
ResourceManager
NodeManager

📝 第 5 步:创建 HDFS 输入输出目录

hdfs dfs -mkdir -p /user/asfor/input
hdfs dfs -put /opt/hadoop/hadoop-3.4.1/etc/hadoop/*.xml /user/asfor/input

📝 第 6 步:运行自带的 WordCount MapReduce 示例

hadoop jar /opt/hadoop/hadoop-3.4.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.4.1.jar wordcount /user/asfor/input /user/asfor/output

📝 第 7 步:查看运行结果

hdfs dfs -cat /user/asfor/output/part-r-00000

你会看到统计每个单词次数的输出结果 🎉


✅ 完成效果

你刚刚:

  • 启动了单节点 Hadoop 伪分布式集群

  • 提交了第一个 MapReduce 作业

  • 成功跑通 Hadoop 生态第一个经典程序 WordCount


如果你愿意,我可以接着教你:

  • 用 Java 写一个 自定义 MapReduce 程序

  • 在本地编译后 hadoop jar 提交运行

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐