在hadoop中运行java类

fdbelqdn  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(322)

我尝试在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文件,但这对我也不起作用。

uajslkp6

uajslkp61#

hadoop jar Hadoop_example.jar URLCat hdfs://localhost/user/hamza/sometext.txt

这是在hadoop上启动程序的正确命令行。为什么不开始取决于你是怎么做的jar。
这篇文章对你很有用。

相关问题