小花快跑 2024-05-13 20:18 采纳率: 20%
浏览 6

mrjob模块中run.sh报错,Streaming Command Failed!

在运行run.sh时,报了以下错误

img

ResultsStatistical.py文件

img

run.sh文件

img

  • 写回答

3条回答 默认 最新

  • 笑面虎 2024-05-13 20:20
    关注

    以下内容由CHATGPT及笑面虎共同生成、有用望采纳:


    【您想要解决的问题】: 您提问的目的是解决在使用mrjob模块运行Hadoop Streaming作业时遇到的“Streaming Command Failed!”错误。

    【图片内容】:

    1. 第一张图片显示了Hadoop Streaming作业的日志信息,包括警告、连接到ResourceManager的记录、以及作业的清理过程。
    2. 第二张图片包含了ResultsStatistical.py Python脚本的内容,这是一个用于Hadoop MapReduce作业的mapper和reducer函数的实现。
    3. 第三张图片是一个shell脚本run.sh,用于启动Hadoop Streaming作业,包含了Hadoop Streaming JAR的路径、输入路径、输出路径和mapper脚本的路径。

    【问题出现原因】: 根据提供的信息,问题可能出现的原因包括:

    • ResultsStatistical.py中可能存在语法错误或逻辑错误,导致mapper或reducer函数执行失败。
    • run.sh脚本中的命令可能存在格式错误,例如路径指定不正确或者使用了已弃用的命令行选项。
    • Hadoop环境配置问题,比如环境变量未正确设置,或者Hadoop服务存在问题。

    【问题解决方案】:

    1. 检查ResultsStatistical.py脚本是否有语法错误,特别是mapper和reducer函数中的代码。
    2. 确保run.sh脚本中的路径正确无误,并且与您的文件系统结构相匹配。
    3. 更新run.sh脚本,将已弃用的-file选项替换为-generic选项,因为-file选项在新的Hadoop版本中已被弃用。

    【提供代码】: 根据第三张图片中的run.sh脚本内容,修改后的脚本可能如下所示:

    #!/bin/sh
    STREAM_PATH="/opt/servers/hadoop/share/hadoop/tools/lib/hadoop-streaming-3.1.3.jar"
    INPUT_PATH="/root/cla.csv"
    OUTPUT_PATH="/output/dataclean"
    MAPPER_PATH="/root/ResultsStatistical.py"
    
    hadoop jar $STREAM_PATH \
        -input $INPUT_PATH \
        -output $OUTPUT_PATH \
        -mapper $MAPPER_PATH
    

    【代码运行方式】:

    1. 确保您的Hadoop环境已经正确配置,包括JAVA_HOME环境变量和HADOOP_HOME。
    2. 给予run.sh脚本执行权限:chmod +x run.sh
    3. 在命令行中运行./run.sh来启动Hadoop Streaming作业。

    【代码预期运行结果】: 如果所有问题都已解决,您应该能够看到Hadoop Streaming作业成功启动并执行,没有错误信息,最终在指定的输出路径下看到处理后的数据。

    【推荐相关链接】:

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月13日

悬赏问题

  • ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关
  • ¥15 C#中的编译平台的区别影响
  • ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?
  • ¥15 电脑蓝屏logfilessrtsrttrail问题
  • ¥20 关于wordpress建站遇到的问题!(语言-php)(相关搜索:云服务器)
  • ¥15 【求职】怎么找到一个周围人素质都很高不会欺负他人,并且未来月薪能够达到一万以上(技术岗)的工作?希望可以收到写有具体,可靠,已经实践过了的路径的回答?
  • ¥15 Java+vue部署版本反编译
  • ¥100 对反编译和ai熟悉的开发者。
  • ¥15 带序列特征的多输出预测模型
  • ¥15 Python 如何安装 distutils模块