当前位置: 首页 > 知识库问答 >
问题:

从本地到远程运行时ClassNotFoundException

孟鹤龄
2023-03-14

我有一个mapreduce代码在我的本地计算机上运行良好。然后,当我在远程服务器上运行它时,我会得到以下执行选项

Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.avro.mapreduce.AvroKeyInputFormat not found
    at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2195)
    at org.apache.hadoop.mapreduce.task.JobContextImpl.getInputFormatClass(JobContextImpl.java:174)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:749)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
    at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:422)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)
    at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)

在我的IntelliJ集成开发环境中,我有一个外部库avro-mapred-1.7.7-hadoop2。jar,我从中构建了工件。当我解压缩工件的jar时,我正确地找到了,并且在组织中正确地找到了AvroKeyInputFormat。阿帕奇。阿夫罗。mapreduce软件包。那么我在这里错过了什么?我查看了一些帖子,但没有找到相关答案

共有1个答案

林博厚
2023-03-14

>

  • 要么创建一个far jar,然后将所有依赖jar添加到fat jar中。

    使用cli-libjars在分布式缓存中添加依赖的jar,或者使用Job.addLibPath()以编程方式添加jar。

    想法是让所有JAR都可用于MR期间调用的远程JVM。

  •  类似资料:
    • 问题内容: 我正在调试一些必须在我的虚拟机上运行的python脚本。而且,我更喜欢在本地(虚拟机外部)编辑脚本。因此,我发现每次都将脚本修改为虚拟机 很繁琐。谁能提出一些有效的方法? 特别是,我想知道是否可以在远程PVM上执行python脚本。像这样: 问题答案: 可以使用ssh。Python接受连字符(-)作为执行标准输入的参数, 运行 python –help 以获得更多信息。

    • 有一个简单的日志文件 /tmp/test.log 有一个简单的bash脚本 /tmp/test.sh 如果我在本地运行这个脚本,它会像预期的那样工作: 但如果我通过ssh运行此脚本,我会得到一些意想不到的结果: 有人知道为什么吗?

    • 请让我知道如何从Windows机器到远程LinuxJVM运行Janalyiler。 非常感谢提前。

    • 以下是在远程主机上安装PIP/BOTO的任务,这些任务在运行route53模块时不会再出现错误:

    • 本地运行模式 本地运行模式主要用于测试功能是否正确。目前本地运行模式仅支持一个Worker(可以有多个Task)和一个PS。可以通过配置选项angel.deploy.mode来使用本地运行模式,具体的参数配置可参考Angel系统参数 1. 运行环境准备 Java >= 1.8 Angel发布包 angel-\-bin.zip 配置好HADOOP_HOME和JAVA_HOME环境变量,解压Angel

    • 我需要发送一个pdf文件(从一个gpu输出和定位)在一个远程服务器到我的本地(mac)机器。我通过我的本地终端进行了尝试,每次尝试都收到错误。下面提供了终端文本输入和输出 1. 错误 虽然这个问题已经发布了几次之前,我已经尝试了建议的正确解决方案,仍然无法执行我的任务。本任务中的任何解决方案或方向都将受到高度赞赏。谢谢你