在Java中运行hadoop命令copyFromLocalFile时出现错误

时间:2019-01-17 06:13:36

标签: java hadoop2

我是Hadoop群集节点中的新手。 我尝试在Java中运行Hadoop命令

以下代码是将文件从本地复制到HDFS。

当我使用命令外壳程序时,它正在工作:
hadoop fs -copyFromLocal /home/my_name/tutorial_append.txt /user/my_name/tutorial_append.txt

但是当我在这样的Java代码中实现它时:

import java.io.IOException;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;



  public class UploadTest {

    public static void main(String[] args) throws IOException {

         System.out.print("Hello World");
         String localPath="/home/my_name/tutorial_append.txt";

         String uri ="hdfs://0.0.0.0:8020";

         String hdfsdir="hdfs://0.0.0.0:8020/user/my_name/";

         Configuration conf = new Configuration();

         FileSystem fs =  FileSystem.get(URI.create(uri),conf);

         fs.copyFromLocalFile(new Path(localPath),new Path(hdfsdir));
    }
}

compile javac -cp hadoop-core-1.2.1.jar UploadTest.java

run java -cp hadoop-core-1.2.1.jar UploadTest

Error: Could not find or load main class UploadTest

我尝试了很多次,但是都没有成功。

已解决

最后,我构建到jar文件,并使用hadoop jar UploadTest.jar运行

我一直在关注 Hadoop Error: Could not find or load main class class path TestJava

0 个答案:

没有答案