You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在已安装Hadoop和Spark的Docker中运行Word Count Jar示例?

验证Docker中Hadoop与Spark安装的Word Count操作步骤

1. 进入容器并确认服务状态

  • 先进入运行中的Hadoop/Spark容器:
    docker exec -it <容器ID或名称> /bin/bash
    
  • 检查HDFS状态,确认集群正常:
    hdfs dfsadmin -report
    
    能看到NameNode、DataNode的正常状态信息即可。
  • 验证Spark可用:
    spark-submit --version
    
    输出版本信息说明Spark环境没问题。

2. 准备测试数据

  • 在容器内创建测试文本:
    echo "Hello Hadoop Hello Spark" > test.txt
    echo "Word Count Test" >> test.txt
    
  • 把文件上传到HDFS(用来同时验证HDFS功能):
    # 创建HDFS输入目录
    hdfs dfs -mkdir /input
    # 上传本地文件到HDFS
    hdfs dfs -put test.txt /input
    

3. 运行Word Count示例

Spark和Hadoop都自带现成的Word Count示例Jar,直接用就行:

用Spark运行

Spark示例Jar在$SPARK_HOME/examples/jars/目录下,替换成你实际的版本号(或者用通配符匹配):

spark-submit \
  --class org.apache.spark.examples.WordCount \
  $SPARK_HOME/examples/jars/spark-examples_*.jar \
  hdfs:///input/test.txt \
  hdfs:///output/spark-wordcount
  • 注意:输出目录/output/spark-wordcount不能提前存在,否则会报错。

用Hadoop运行

Hadoop示例Jar在$HADOOP_HOME/share/hadoop/mapreduce/目录下:

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar \
  wordcount \
  /input/test.txt \
  /output/hadoop-wordcount

4. 查看结果

  • Spark运行结果:
    hdfs dfs -cat /output/spark-wordcount/part-00000
    
  • Hadoop运行结果:
    hdfs dfs -cat /output/hadoop-wordcount/part-r-00000
    
    正常输出应该是每个单词的出现次数,比如:
    Hello    2
    Hadoop   1
    Spark    1
    Word     1
    Count    1
    Test     1
    

常见问题处理

  • 输出目录已存在:执行hdfs dfs -rm -r /output/xxx删除后重新运行
  • HDFS报错:用jps命令检查进程,确认NameNode、DataNode、ResourceManager、NodeManager都在运行
  • Spark提交失败:如果是集群模式有问题,可先加--master local[*]用本地模式测试,排查环境问题

内容的提问来源于stack exchange,提问作者ChackM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 09:01:29