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?
2 odpowiedzi
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.
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}
Podobne pytania
Nowe pytania
hadoop
Hadoop to projekt open source Apache, który zapewnia oprogramowanie do niezawodnego i skalowalnego przetwarzania rozproszonego. Rdzeń składa się z rozproszonego systemu plików (HDFS) i menedżera zasobów (YARN). Różne inne projekty open source, takie jak Apache Hive, używają Apache Hadoop jako warstwy trwałości.