我在macbook上利用apache的资源编写了一个基本的mapreduce程序:
https://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html
完成后,我导出了我的项目的一个jar,并通过ssh将它传输到我的ec2示例。
之后,我通过ec2示例的终端运行了以下命令:
/usr/local/hadoop/bin/hadoop jar test.jar com.map.reduce games.tar.gz output
哪里 /usr/local/hadoop/bin/hadoop
是在ec2上安装hadoop的地方, test.jar
是传输的jar文件,com.map.reduce是托管所有类的包名。 games.tar.gz
是我将使用的目录,输出是我希望看到结果的地方。
但我有个例外:
Exception in thread "main" java.lang.ClassNotFoundException:
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:466)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:566)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:374)
at org.apache.hadoop.util.RunJar.run(RunJar.java:311)
at org.apache.hadoop.util.RunJar.main(RunJar.java:232)
我想知道这是否是我在本地使用的jar的问题。感谢您的帮助。
暂无答案!
目前还没有任何答案,快来回答吧!