Hadoop Map-Reduce Code не может выбрать файлы драйверов libcuddpp.so - PullRequest
0 голосов
/ 28 февраля 2011

Приветствую всех,

Сегодня я столкнулся со странной проблемой с некорневыми пользователями в Linux (CentOS).

Я могу скомпилировать и запустить программу Java с помощью следующих командправильно:

[root@cuda1 hadoop-0.20.2]# javac EnumDevices.java
[root@cuda1 hadoop-0.20.2]# java EnumDevices
Total number of devices: 1
Name: Tesla C1060
Version: 1.3
Clock rate: 1296000 MHz
Threads per block: 512

Но мне нужно запустить его через другого пользователя [B] hadoop [/ B] в CentOS

[hadoop@ws37-mah-lin hadoop-0.20.2]$ javac EnumDevices.java
[hadoop@ws37-mah-lin hadoop-0.20.2]$ java EnumDevices
NVIDIA: could not open the device file /dev/nvidiactl (Permission denied).
Exception in thread "main" CUDA Driver error: 100
       at jcuda.CUDA.setError(CUDA.java:1874)
       at jcuda.CUDA.init(CUDA.java:62)
       at jcuda.CUDA.<init>(CUDA.java:42)
       at EnumDevices.main(EnumDevices.java:20)
[hadoop@ws37-mah-lin hadoop-0.20.2]$

На самом деле мне нужно запустить код сокращения карты, ново-первых, если он пройдет через простой, я пойду за этим.

Пожалуйста, расскажите мне, как решить эту проблему, поскольку CLASSPATH одинакова для всех пользователей.

Спасибо и наилучшими пожеланиями, Адарш Шарма

1 Ответ

0 голосов
/ 02 марта 2011

Похоже, у вас проблема с правами доступа к файлам устройства.Hadoop не имеет к этому никакого отношения, равно как и путь к классам Java.Это может быть полезно:

http://www.linuxquestions.org/questions/slackware-14/could-not-open-dev-nvidiactl-310026/

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