运行PIG时出现JAVA_HOME错误

时间:2013-06-25 13:41:32

标签: ubuntu hadoop apache-pig java-home

在我的环境中设置JAVA_HOME后,我在运行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)

当我sudo它时:

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

但在我的环境中,JAVA_HOME设置为:

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

运行:Ubuntu 10.04.4 LTS Java:java版“1.6.0_21” Hadoop版本:hadoop-0.20.203 PIG版本:pig-0.11.1 ENV:     TERM = xterm的     SHELL = /斌/庆典     XDG_SESSION_COOKIE = 8ae630b8b99d1e6f701be8b54f4baedf-1372165040.445642-2054865008     SSH_CLIENT = XXXXXXXXXXXXXXXXXXXXXXX     OLDPWD = /家庭/ 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:做= 01; 35:BD = 40; 33; 01: CD = 40; 33; 01:或= 40; 31; 01:SU = 37; 41:SG = 30; 43:CA = 30; 41:TW = 30; 42:流量= 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:。广州= 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:< /em>.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:< EM> .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; 3 5: .ASF = 01; 35:。室= 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:< EM>的.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 = /无功/邮件/ Ubuntu的     PATH =在/ usr / local / sbin中:在/ usr / local / bin目录:/ usr / sbin目录:在/ usr / bin中:/ sbin目录:/ bin中:在/ usr /游戏:在/ usr /本地/ Hadoop的/ bin中     PWD = /家庭/ Ubuntu的/猪     JAVA_HOME = / usr / lib中/ JVM / JAVA -6-太阳     LANG =的en_US.UTF-8     SHLVL = 1     HOME = /家庭/ Ubuntu的     LOGNAME = Ubuntu的     SSH_CONNECTION = XXXXXXXXXXXXXXXXXXXX     LESSOPEN = | / usr / bin / lesspipe%s     LESSCLOSE = / usr / bin / lesspipe%s%s     _ =的/ usr /仓/ env的

1 个答案:

答案 0 :(得分:0)

如果您不想修改配置,可以使用sudo -E ./pig-E表示将当前用户的环境传递给sudo用户。