title: Using Hadoop through a SOCKS proxy?
body: <p>So our Hadoop cluster runs on some nodes and can only be accessed from these nodes. You SSH into them and do your work.</p>
  
  <p>Since that is quite annoying, but (understandably) nobody will even go near trying to configure access control so that it may be usable from outside for some, I'm trying the next best thing, i.e. using SSH to run a SOCKS proxy into the cluster:</p>
  
  <pre><code>$ ssh -D localhost:10000 the.gateway cat
  </code></pre>
  
  <p>There are whispers of SOCKS support (naturally I haven't found any documentation), and apparently that goes into <code>core-site.xml</code>:</p>
  
  <pre><code>&lt;property&gt;
    &lt;name&gt;fs.default.name&lt;/name&gt;
    &lt;value&gt;hdfs://reachable.from.behind.proxy:1234/&lt;/value&gt;&lt;/property&gt;
  &lt;property&gt;
    &lt;name&gt;mapred.job.tracker&lt;/name&gt;
    &lt;value&gt;reachable.from.behind.proxy:5678&lt;/value&gt;&lt;/property&gt;
  &lt;property&gt;
    &lt;name&gt;hadoop.rpc.socket.factory.class.default&lt;/name&gt;
    &lt;value&gt;org.apache.hadoop.net.SocksSocketFactory&lt;/value&gt;&lt;/property&gt;
  &lt;property&gt;
    &lt;name&gt;hadoop.socks.server&lt;/name&gt;
    &lt;value&gt;localhost:10000&lt;/value&gt;&lt;/property&gt;
  </code></pre>
  
  <p>Except <code>hadoop fs -ls /</code> still fails, without any mention of SOCKS.</p>
  
  <p>Any tips?</p>
  
  <hr>
  
  <p>I'm only trying to run jobs, not administer the cluster.
  I only need to access HDFS and submit jobs, through SOCKS (it seems there's an entirely separate thing about using SSL/Proxies between the cluster nodes etc; I don't want that, my machine shouldn't be part of the cluster, just a client.)</p>
  
  <p>Is there any useful documentation on that? To illustrate my failure to turn up anything useful: I found the configuration values by running the hadoop client through <code>strace -f</code> and checking out the configuration files it read.</p>
  
  <p>Is there a description anywhere of which configuration values it even reacts to? (I have literally found zero reference documentation, just differently outdated tutorials, I hope I've been missing something?)</p>
  
  <p>Is there a way to dump the configuration values it is actually using?</p>