Spark远程执行到集群失败 - HDFS连接在8020拒绝



我正在遇到问题,从纱线上运行的Spark cluster外面提交Spark-Submit远程作业。

Exception in thread "main" java.net.ConnectionException: Call from remote.dev.local/192.168.10.65 to target.dev.local:8020 failed on connection exception: java.net.ConnectionException: Connection Refused

在我的core-site.xml中:

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://target.dev.local:8020</value>
<property>

也在我的hdfs-site.xml中,在群集中,我已经删除了对HDFS检查的权限:

<property>
  <name>dfs.permissions.enabled</name>
  <value>false</value>
<property>

另外,当我从集群外的机器中telnet时:

telnet target.dev.local 8020

我得到

telnet: connect to address 192.168.10.186: Connection Refused

但是,当我

telnet target.dev.local 9000

它说连接

当我 ping target.dev.local起作用时。

我来自远程计算机的Spark-Submit脚本是:

export HADOOP_CONF_DIR=/<path_to_conf_dir_copied_from_cluster>/
spark-submit --class org.apache.spark.examples.SparkPi 
--master yarn 
--deploy-mode cluster 
--driver-memory 5g 
--executor-memory 50g 
--executor-cores 5 
--queue default 
<path to jar>.jar 
10

我在这里缺少什么?

事实证明我必须更改

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://target.dev.local:8020</value>
<property>

to

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://0.0.0.0:8020</value>
<property>

允许连接形成外部,因为target.dev.local位于专用网络交换机中。

最新更新