Gdy próbuję uruchomić pomoc dla świń, pojawia się następujący błąd.

Exception in thread "main" java.io.IOException: Permission denied
    at java.io.UnixFileSystem.createFileExclusively(Native Method)
    at java.io.File.checkAndCreate(File.java:1717)
    at java.io.File.createTempFile0(File.java:1738)
    at java.io.File.createTempFile(File.java:1815)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:115)

Oto moja konfiguracja - Apache Hadoop - 1.0.3 Apache Pig - 0.10.0 OS - Ubuntu 64-bit

Użytkownik, dla którego widoczny jest błąd - "sumod" jest to konto na poziomie administratora. Stworzyłem też dla niego katalog w HDFS. Użytkownik, dla którego ten błąd NIE jest widoczny - „hadoop”. Stworzyłem tego użytkownika do zadań hadoop. Nie jest administratorem. Ale należy do „supergrupy” na HDFS. Ścieżki są odpowiednio ustawione dla obu użytkowników. Nie muszę uruchamiać hadoopa podczas wykonywania polecenia "pig -help". Chcę tylko upewnić się, że Pig jest poprawnie zainstalowany. Śledzę Apache doc i rozumiem, że nie muszę być użytkownikiem hadoop, aby uruchomić Pig i mogę być ogólnym użytkownikiem systemu.

Dlaczego otrzymuję te błędy? Co ja robię źle?

0
Sumod 20 październik 2012, 15:12

2 odpowiedzi

Najlepsza odpowiedź

Sprawdź uprawnienia katalogu, w którym znajduje się pigscript.

Za każdym razem, gdy wykonywany jest pigscript, błędy są rejestrowane w pliku dziennika, który jest zapisywany w bieżącym katalogu roboczym.

Załóżmy, że twój skrypt znajduje się w dir1, a twoje hasło to dir2, a ponieważ wykonujesz jako użytkownik sumod; sumod powinien mieć uprawnienia do zapisu w katalogu dir2.

0
ysr 10 listopad 2012, 12:47

Widziałem ten sam błąd wyjątku. Powodem dla mnie było to, że użytkownik, na którym prowadziłem świnię, nie miał uprawnień do zapisu na ${hadoop.tmp.dir}

1
Kyungho Jeon 23 styczeń 2014, 09:34