как запустить hadoop с внешней банкой? - PullRequest
0 голосов
/ 03 ноября 2018

Я собираюсь запустить проект уменьшения карты на Hadoop 2.9.0. Я использую пакет xml-rpc в своем проекте следующим образом:

import org.apache.xmlrpc.*;    

Я помещаю дополнительные jar-файлы в папку lib, и когда я запускаю jar-файл своего проекта в Hadoop, он показывает эту ошибку:

Ошибка: java.lang.ClassNotFoundException: org.apache.xmlrpc.XmlRpcClient

Я выполнил эту команду:

bin/hadoop jar MRV.jar SumMR /user/hadoop/input /user/hadoop/output -libjars lib/xmlrpc-2.0.1.jar: lib/commons-codec-1.10.jar

Как выполнить эту команду без ошибки ClassNotFoundException?

1 Ответ

0 голосов
/ 03 ноября 2018

приватная статическая пустота addJarToDistributedCache (Класс classToAdd, Конфиг конфигурации) выдает IOException {

// Retrieve jar file for class2Add
String jar = classToAdd.getProtectionDomain().
        getCodeSource().getLocation().
        getPath();
File jarFile = new File(jar);

// Declare new HDFS location
Path hdfsJar = new Path("/user/hadoopi/lib/"
        + jarFile.getName());

// Mount HDFS
FileSystem hdfs = FileSystem.get(conf);

// Copy (override) jar file to HDFS
hdfs.copyFromLocalFile(false, true,
    new Path(jar), hdfsJar);

// Add jar to distributed classPath
DistributedCache.addFileToClassPath(hdfsJar, conf);

}

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