无法使用java程序读取hdfs:无法找到或加载主类

im9ewurl  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(285)

我正在努力 cat 存储在hdfs中的文件。我尝试了这两个标题下提供的方法,从hadoop url读取数据,并使用hadoop:the definitive guide一书中的filesystem api读取数据,但我不断遇到错误:

Error: Could not find or load main class <class_name>

有人能指出我做错了什么吗?

unhi4e5o

unhi4e5o1#

我看不到链接中的所有页面,但我想我知道发生了什么。您正在尝试这样运行命令。

% hadoop URLCat <HDFS URL>

您得到的错误与hadoop找不到类有关 URLCat 在类路径中。您可以编辑 hadoop 要包含的命令文件 URLCat 在类路径中。但不建议这样做。
最好的方法是使用 URLCat 在内部初始化并使用以下命令调用

% hadoop jar <Path to Jar>/<Your Jar>.jar URLCat <HDFS URL>

阅读这篇博客文章,了解更多关于如何运行jar的信息。

j8ag8udp

j8ag8udp2#

第一步:编译java程序:

javac URLCat.java -classpath $HADOOP_HOME/share/hadoop/common/hadoop-common-2.7.0.jar

步骤2:创建jar文件:

jar cvf URLCat.jar URLCat.class

第三步:执行程序:(提到你的hdfs文件位置)

hadoop jar URLCat.jar URLCat hdfs://localhost:9000/pcode/wcinput.txt

相关问题