Amazon3Client over proxy(oozie)

tez616oj  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(623)

我正试图通过oozie运行java代码。代码是为非代理环境编写的,但我正在尝试在需要代理服务器设置的环境中实现它。这是我运行作业时遇到的错误。

2015-05-18 09:22:26,929 WARN com.amazonaws.http.AmazonHttpClient: Unable to execute HTTP request: connect timed out
java.net.SocketTimeoutException: connect timed out

现在,这是预期的行为,因为我需要通过代理传递该行为,但是问题是,我没有看到与命中代理的连接。所有这些都试图直接连接到internet,并被防火墙阻止。
我已经为所有hadoop节点的所有连接设置了通用代理(因为它们在某个时候都需要它) /etc/hadoop/conf/mapred-site.xml 属性:

<property>
    <name>mapreduce.reduce.java.opts</name>
    <value>-Xmx1024m -Dhttp.proxyHost=1.1.1.1 -Dhttp.proxyPort=8080 -Dhttps.proxyHost=1.1.1.1 -Dhttps.proxyPort=8080 -Dhttp.nonProxyHosts=localhost|127.0.0.1|*.localdomain</value>
    <final>false</final>
</property>
<property>
    <name>mapreduce.map.java.opts</name>
    <value>-Xmx1024m -Dhttp.proxyHost=1.1.1.1 -Dhttp.proxyPort=8080 -Dhttps.proxyHost=1.1.1.1 -Dhttps.proxyPort=8080 -Dhttp.nonProxyHosts=localhost|127.0.0.1|*.localdomain</value>
    <final>false</final>
</property>
<property>
    <name>mapred.child.java.opts</name>
    <value>-Xmx1024m -XX:+UseConcMarkSweepGC -Dhttp.proxyHost=1.1.1.1 -Dhttp.proxyPort=8080 -Dhttps.proxyHost=1.1.1.1 -Dhttps.proxyPort=8080 -Dhttp.nonProxyHosts=localhost|127.0.0.1|*.localdomain</value>
<final>false</final>
</property>

然而,连接仍然是通过直接通过互联网只是绕过这些设置。我有另一个工作,通过这个代理成功地调用了外部api,所以我知道这个设置可以工作,只是不知道为什么它不能与amazon3client一起工作
有没有办法在不改变代码的情况下实现这一点?

64jmpszr

64jmpszr1#

问题是应用程序附带的s3库。它根本不支持代理。所以在我的情况下,如果不更正代码,就没有办法做到这一点。

相关问题