Question

After I set JAVA_HOME in my environment, I got this when running PIG:

ubuntu@XXXXXX:~/pig/pig-0.11.1/bin$ export JAVA_HOME=/usr/lib/jvm/java-6-sun
ubuntu@ip-10-117-89-198:~/pig/pig-0.11.1/bin$ ./pig
Exception in thread "main" java.io.IOException: Permission denied
        at java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.io.File.checkAndCreate(File.java:1704)
        at java.io.File.createTempFile(File.java:1792)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:115)

When I sudo it:

ubuntu@ip-10-117-89-198:~/pig/pig-0.11.1/bin$ sudo ./pig
Error: JAVA_HOME is not set.

But in my environment, JAVA_HOME is set:

ubuntu@ip-10-117-89-198:~/pig/pig-0.11.1/bin$ env | grep java
OLDPWD=/usr/lib/jvm/java-6-sun
JAVA_HOME=/usr/lib/jvm/java-6-sun

Running on: Ubuntu 10.04.4 LTS Java: java version "1.6.0_21" Hadoop version: hadoop-0.20.203 PIG version: pig-0.11.1 ENV: TERM=xterm SHELL=/bin/bash XDG_SESSION_COOKIE=8ae630b8b99d1e6f701be8b54f4baedf-1372165040.445642-2054865008 SSH_CLIENT=XXXXXXXXXXXXXXXXXXXXXXX OLDPWD=/home/ubuntu SSH_TTY=/dev/pts/0 USER=ubuntu LS_COLORS=rs=0:di=01;34:ln=01;36:hl=44;37:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arj=01;31:.taz=01;31:.lzh=01;31:.lzma=01;31:.zip=01;31:.z=01;31:.Z=01;31:.dz=01;31:.gz=01;31:.bz2=01;31:.bz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.rar=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.jpg=01;35:.jpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.axv=01;35:.anx=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.axa=00;36:.oga=00;36:.spx=00;36:*.xspf=00;36: MAIL=/var/mail/ubuntu PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/hadoop/bin PWD=/home/ubuntu/pig JAVA_HOME=/usr/lib/jvm/java-6-sun LANG=en_US.UTF-8 SHLVL=1 HOME=/home/ubuntu LOGNAME=ubuntu SSH_CONNECTION=XXXXXXXXXXXXXXXXXXXX LESSOPEN=| /usr/bin/lesspipe %s LESSCLOSE=/usr/bin/lesspipe %s %s _=/usr/bin/env

Was it helpful?

Solution

If you don't want to modify the configuration, you can use use sudo -E ./pig. -E means passing the environment of current user to the sudo users.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top