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

在Amazon EMR中运行hadoop jar

濮俭
2023-03-14

我为map reduce应用程序创建了一个自定义jar,并尝试在Amazon EMR作业流中运行它。我在hadoop 1.0.4中编译了代码,但是Amazon EMR支持hadoop 1.0.3。此外,我在jdk 1.7下编译了代码,我不确定Amazon EMR使用的是哪个java版本,我们可以在哪里更改?

这是堆栈追踪

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/test/GWASMapReduce : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.apache.hadoop.util.RunJar.main(RunJar.java:180)

共有3个答案

微生俊健
2023-03-14

EMR平台仍然不支持Java7,请参阅此处

贺桐
2023-03-14

根据Muel,Java 7不受Amazon EMR支持,截至今天,Amazon EMR支持版本1.0.3、0.20.205。

冯流觞
2023-03-14

Amazon EMR似乎不支持Java 7。您需要尝试编译jar以针对较旧的JVM:

javac -target 1.6 -cp .... etc
 类似资料:
  • Hi我正在使用xslt转换器和xsl文件,我正在使用函数ex: date-time(),它在Anypoint Studio中运行,但当我尝试在cloud dHub中运行时,它会抛出错误 无法找到名为{http://exslt.org/dates-and-times}date-time()的匹配0参数函数。没有本地名称date-time的Saxon扩展函数(net.sf.saxon.trans.XP

  • 我正在尝试执行这个代码是pycharm 但我总是犯这个错误 但我可以使用terminal运行相同的代码

  • 我得到 它不包含我在NetBeans中使用的jdk的路径。我没有找到一种方法告诉Java我想使用另一个jdk,所以我尝试了不使用: 运行特定主文件的示例 在java.lang.class.PrivateGetMethodRecursive(class.java:3048) 在java.lang.class.GetMethod0(class.java:3018) 在java.lang.class.G

  • 问题内容: 我正在尝试使用Zed A. Shaw的 “ 以 艰难的方式学习Python” 指南来 学习Python的 基础知识。我遇到的问题是我可以运行Python脚本,但只能在名称前面使用。这会瞬间打开CMD,然后关闭。 如果我尝试运行该文件,它将返回该文件不是可操作的程序文件,脚本等。 我已经在Stack Overflow上找到了与此问题相关的多个问题,但是没有一个解决方案对我有用。 我尝试过

  • 当我在本地主机(localhost/wordpress)中运行wordpress文件夹时,我得到的错误是 警告:未知:无法打开流:第0行未知中的权限被拒绝致命错误:未知:无法打开所需的“C:/xampp/htdocs/wordpress/index”。第0行未知中的php'(include_path=';\xampp\php\PEAR')

  • 问题内容: 我正在使用angular在wordpress网站中创建页面过渡。我的网站加载了一个普通的wordpress页面,该页面触发了PHP,并在页面中填充了有角元素(正文)。然后,角度元素使用动画过渡以3个单独的html页面更改正文内容(因此页眉和页脚不受影响。) 我在单独的html页面中有PHP。我以为PHP会在每个页面进入视图之前触发-但是我猜是因为页面是由angular而不是浏览器加载的

  • 问题内容: 好的,我几乎用尽了所有线程和文章,但是仍然无法使我的apache网络服务器在Centos Docker Container上以独立模式运行。 这是我的简化Dockerfile 我的starservice脚本只有 我可以构建良好,但是似乎无法在守护程序/独立模式下运行容器。我怎么做? 我正在使用它以独立模式运行容器 我必须登录到容器并启动服务以使Web服务器运行。 问题答案: 这是经典的

  • 我在Intelijidea中用和设置了spring boot项目。我已经使用jmockit期望编写了一些测试用例。我能够从命令行运行测试用例,但不能从intelij思想运行。Idea在控制台中打印以下错误。 在请检查-javaagent JVM初始化参数在mockit.internal.startup.startup.verifyinitialization(startup.java:91)在mo