正在尝试从hadoop url读取数据,但无法执行此操作出现错误

dojqjjoe  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(594)

readfromhadoopurl文件的内容如下:

package com.felix.hadoop.training;

import java.io.InputStream;
import java.net.URL;

import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.io.IOUtils;

//  URLCat
public class ReadFromHadoopURL {

  static {
        URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
  }

  public static void main(String[] args) throws Exception {
    InputStream in = null;
    try {
      in = new URL(args[0]).openStream();
      IOUtils.copyBytes(in, System.out, 4096, false);
    } finally {
      IOUtils.closeStream(in);
    }
      }
    }

然后我创建了一个jar文件readfromhadoopurl.jar。
然后我执行了这个命令

hadoop jar /home/training/Pradosh/ReadFromHadoopURL.jar ReadFromHadoopURL hdfs://localhost:54310/my/empfile

我得到这个错误

Exception in thread "main" java.lang.ClassNotFoundException: ReadFromHadoopURL
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:149)

你能帮我调试一下吗?

c9qzyr3d

c9qzyr3d1#

和…一起跑 hadoop jar 命令,则必须实现一个包含 Map extends Mapper<> 类(可选) Reduce extends Reducer<> )如规范的wordcount示例所示。
上面的内容看起来像是您在尝试实现一个简单的java控制台应用程序来cat一个存储在hdfs中的文件。如果是这样的话,那么您应该使用以下命令运行它: java -cp ./ReadFromHadoopURL.jar ReadFromHadoopURL hdfs://localhost:54310/my/empfile 注意:从命令行获取所有hadoop和apache依赖项可能需要一个扩展得多的cp/classpath。

hc2pp10m

hc2pp10m2#

您可能只需要用包名完全限定类名。 ReadFromHadoopURL 应该是 com.felix.hadoop.training.ReadFromHadoopURL .

hadoop jar /home/training/Pradosh/ReadFromHadoopURL.jar com.felix.hadoop.training.ReadFromHadoopURL hdfs://localhost:54310/my/empfile

相关问题