我尝试在hadoop中运行java类,就像在《hadoop.the.definalite.guide》一书中一样,如下所示:
hadoop URLCat hdfs://localhost/user/hamza/sometext.txt
它将sometext.txt的内容打印到终端。当我键入命令时,会出现以下错误:
Error: Could not find or load main class URLCat
urlcat是一个java类,但我不知道为什么它不工作。我尝试使用intellij将其转换为jar文件,但当我运行它时,如下所示:
hadoop jar Hadoop_example.jar URLCat hdfs://localhost/user/hamza/sometext.txt
注意:hadoop\u example.jar是jar文件名,拥有main方法的类是urlcat。
它给了我这个错误:
Exception in thread "main" java.lang.ClassNotFoundException: URLCat
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.hadoop.util.RunJar.run(RunJar.java:214)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
那么我如何在hadoop中运行java类呢。我在stack overflow上发现了一个类似的问题,但答案主要是将其转换为jar文件,但这对我也不起作用。
1条答案
按热度按时间uajslkp61#
这是在hadoop上启动程序的正确命令行。为什么不开始取决于你是怎么做的jar。
这篇文章对你很有用。