Hi,

I am running a MR job that requires usage of some java.awt.* classes, that
can't be run in headless mode.

Right now, I am running Hadoop in a single node cluster (my laptop) which
has X11 server running. I have set up my ssh server and client to do X11
forwarding.

I ran the following java program to ensure that X11 forwarding is working-

public class Test
  throws Exception
{
  public static void main( String[] args)
  {
    Process p = runtime.getRuntime( ).exec( "/usr/bin/xterm");
    p.waitFor( );
  }
}

I ran it as-
ssh localhost "java Test"
and it worked confirming that X11 forwarding is working over SSH.

However, when I run a Map Reduce program that uses java.awt.* classes
(trying to create an object that extends Frame), I keep getting this error-

java.lang.InternalError- Can't connect to X11 window server using
'localhost:10.0' as the value of the DISPLAY variable

I printed the value of DISPLAY variable-

echo $DISPLAY
:0.0
ssh localhost
echo $DISPLAY
localhost:10.0

I understand this is more of a SSH and X11 related issue, but X11 forwarding
is working over SSH in my standalone programs, but not in MR program. That's
why I am posting the problem here.

Any help is greatly appreciated.

Thanks,
Tarandeep

Reply via email to