Я столкнулся с некоторыми проблемами, когда я пытался удаленно запускать работу по сокращению карты (пример слов). После поиска в google я до сих пор не могу достичь своей цели. И я просто видел очень мало тем о том, как удаленно удалять работу по сокращению карты. Ниже вопросы:Как я могу запустить задание mapreduce удаленно
Сначала я встречаю вопрос разрешения:
SEVERE: PriviledgedActionException as:[user] cause:org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=[user], access=WRITE, inode="mapred":root:supergroup:rwxr-xr-x
Похоже разрешения отказать HDFS путь. Я выключаю проверку, установив
dfs.permissions = true
. Есть ли другой способ преодолеть эту проблему, но все равно держать проверку.Тогда я встретил исключение, говоря, что я не могу получить доступ к банке приложений с уменьшением размера карты.
SEVERE: PriviledgedActionException as:[User] cause:java.io.FileNotFoundException: File /home/hduser/WordCount-1.0.jar does not exist.
Мой код:
JobConf conf = new JobConf(WordCount.class); conf.setJobName("wordcount"); conf.set("fs.default.name", "hdfs://10.97.1.91:54310"); conf.set("mapred.job.tracker", "10.97.1.91:54311"); conf.setJar("/home/hduser/WordCount-1.0.jar"); ... JobClient.runJob(conf);
Похоже, в локальной файловой системе на имя узел отрицает мой доступ к файлу банка. Как я могу решить эту проблему? Я нашел a link в stackoverflow. По ссылке, расположение файла jar не требуется. Но как узел имени может найти файл jar без указания местоположения?
Я видел очень мало примеров выполнения задания удаленно в учебнике, которое я нашел в Интернете. Разве это не предлагает сделать это таким образом?