通过socks代理使用hadoop?

kpbpu008  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(727)

所以我们的hadoop集群运行在一些节点上,只能从这些节点访问。你和他们打交道,做你的工作。
因为这很烦人,但是(可以理解)甚至没有人会尝试配置访问控制,以便某些人可以从外部使用它,所以我正在尝试下一个最好的方法,即使用ssh在集群中运行socks代理:

$ ssh -D localhost:10000 the.gateway cat

关于socks支持的传言不绝于耳(当然,我还没有找到任何文档),很显然,这一点已经进入了讨论阶段 core-site.xml :

<property>
  <name>fs.default.name</name>
  <value>hdfs://reachable.from.behind.proxy:1234/</value></property>
<property>
  <name>mapred.job.tracker</name>
  <value>reachable.from.behind.proxy:5678</value></property>
<property>
  <name>hadoop.rpc.socket.factory.class.default</name>
  <value>org.apache.hadoop.net.SocksSocketFactory</value></property>
<property>
  <name>hadoop.socks.server</name>
  <value>localhost:10000</value></property>

除外 hadoop fs -ls / 还是失败了,没有提到袜子。
有什么建议吗?
我只是试着运行作业,而不是管理集群。我只需要通过socks访问hdfs和提交作业(似乎在集群节点之间使用ssl/代理是完全不同的;我不想这样,我的机器不应该是集群的一部分,只是一个客户端。)
这方面有什么有用的文件吗?为了说明我没有找到任何有用的东西:我通过运行hadoop客户机找到了配置值 strace -f 检查它读取的配置文件。
是否有一个描述,它甚至对哪些配置值作出React(我真的找到了零参考文档,只是不同的过时教程,我希望我错过了什么?)
是否有方法转储它实际使用的配置值?

w1e3prcc

w1e3prcc1#

实现此功能的原始代码已添加到https://issues.apache.org/jira/browse/hadoop-1822
但本文还指出,必须将socket类更改为socks
http://rainerpeter.wordpress.com/2014/02/12/connect-to-hdfs-using-a-proxy/
具有 <property> <name>hadoop.rpc.socket.factory.class.default</name> <value>org.apache.hadoop.net.SocksSocketFactory</value> </property> 编辑:请注意,属性位于不同的文件中:
fs.default.name和hadoop.socks.server以及hadoop.rpc.socket.factory.class.default需要进入core-site.xml
mapred.job.tracker和mapred.job.tracker.http.address config需要进入mapred-site.xml(对于map reduce config)

相关问题