【发布时间】:2019-07-03 01:57:33
【问题描述】:
我正在关注关于向 emr 集群提交 Spark 作业的亚马逊文档 https://aws.amazon.com/premiumsupport/knowledge-center/emr-submit-spark-job-remote-cluster/
按照说明进行操作后,由于地址未解析而失败,并显示类似的消息。
错误 spark.SparkContext:初始化 SparkContext 时出错。 java.lang.IllegalArgumentException:java.net.UnknownHostException: ip-172-32-1-231.us-east-2.compute.internal 在 org.apache.hadoop.security.SecurityUtil.buildTokenService(SecurityUtil.java:374) 在 org.apache.hadoop.hdfs.NameNodeProxies.createNonHAProxy(NameNodeProxies.java:310) 在 org.apache.hadoop.hdfs.NameNodeProxies.createProxy(NameNodeProxies.java:176)
当我看到它试图解析的 IP 是主节点的时候,我用 sed 将其更改为配置文件中的公共 IP(从 /etc/hadoop 获得的/conf 主节点中的目录)。但随后错误是连接到数据节点
INFO hdfs.DFSClient:createBlockOutputStream 中的异常 org.apache.hadoop.net.ConnectTimeoutException:等待通道准备好连接时出现 60000 毫秒超时。 ch : java.nio.channels.SocketChannel[connection-pending remote=/172.32.1.41:50010] 在 org.apache.hadoop.net.NetUtils.connect(NetUtils.java:533) 在 org.apache.hadoop.hdfs.DFSOutputStream.createSocketForPipeline(DFSOutputStream.java:1606) 在 org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.createBlockOutputStream(DFSOutputStream.java:1404) 在 org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1357) 在 org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:587) 19/02/08 13:54:58 INFO hdfs.DFSClient: 放弃 BP-1960505320-172.32.1.231-1549632479324:blk_1073741907_1086
最后我尝试了与这个问题相同的解决方案 = Spark HDFS Exception in createBlockOutputStream while uploading resource file
将以下内容添加到 hdfs-site.xml 文件中:
<property>
<name>dfs.client.use.datanode.hostname</name>
<value>true</value>
</property>
但错误仍然是未解决的地址异常
19/02/08 13:58:06 WARN hdfs.DFSClient: DataStreamer Exception
java.nio.channels.UnresolvedAddressException
at sun.nio.ch.Net.checkAddress(Net.java:101)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:622)
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:192)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:530)
at org.apache.hadoop.hdfs.DFSOutputStream.createSocketForPipeline(DFSOutputStream.java:1606)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.createBlockOutputStream(DFSOutputStream.java:1404)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1357)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:587)
有人可以帮我在本地机器上设置 spark 来向远程 EMR 提交 spark 吗?
【问题讨论】:
标签: amazon-web-services apache-spark hadoop amazon-emr