通过SOCKS代理使用Hadoop?

 韦凯孟强志宪 发布于 2022-12-31 11:07

因此,我们的Hadoop集群在某些节点上运行,只能从这些节点访问.你通过SSH连接它们并完成你的工作.

因为这很烦人,但是(可以理解)没有人会试图配置访问控制,以便它可以从外部使用,我正在尝试下一个最好的事情,即使用SSH运行SOCKS代理到簇:

$ ssh -D localhost:10000 the.gateway cat

有SOCKS支持的耳语(自然我没有找到任何文档),显然这进入core-site.xml:


  fs.default.name
  hdfs://reachable.from.behind.proxy:1234/

  mapred.job.tracker
  reachable.from.behind.proxy:5678

  hadoop.rpc.socket.factory.class.default
  org.apache.hadoop.net.SocksSocketFactory

  hadoop.socks.server
  localhost:10000

除了hadoop fs -ls /仍然失败,没有提到SOCKS.

有小费吗?


我只是尝试运行作业,而不是管理集群.我只需要通过SOCKS访问HDFS并提交作业(似乎在集群节点之间使用SSL /代理等完全独立;我不希望这样,我的机器不应该是集群的一部分,只是一个客户.)

那有什么有用的文件吗?为了说明我没有找到任何有用的东西:我通过运行hadoop客户端strace -f并检查它读取的配置文件来找到配置值.

是否有任何描述甚至会对哪些配置值作出反应?(我确实找到了零参考文档,只是不同的过时教程,我希望我一直在遗漏什么?)

有没有办法转储它实际使用的配置值?

1 个回答
  • 实现此目的的原始代码已添加到https://issues.apache.org/jira/browse/HADOOP-1822

    但是本文还指出您必须将套接字类更改为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)

    2022-12-31 11:10 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有