Ошибка при запуске команды hadoop copyFromLocalFile в Java - PullRequest
0 голосов
/ 17 января 2019

Я новичок в кластерном узле Hadoop. Я пытаюсь запустить команду Hadoop в Java

Следующий код предназначен для копирования файла из локальной системы в 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: не удалось найти или загрузить путь к классу основного класса TestJava

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...