尝试从本地计算机访问aws上的hdfs文件时出错

9rbhqvlz  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(327)

在本教程之后,我已经成功地在awsec2上安装了hadoop和spark。我可以从aws上的spark访问hdfs。
但是,当我试图通过

val lines = sc.textFile("hdfs://namenode_public_DNS:9000/datasets/wikipedia/wikipedia.dat")
lines.first()

我明白了

17/04/10 16:35:41 WARN BlockReaderFactory: I/O error constructing remote block reader.
org.apache.hadoop.net.ConnectTimeoutException: 60000 millis timeout while waiting for channel to be ready for connect. ch : java.nio.channels.SocketChannel[connection-pending remote=/datanode_ip:50010]

我怎样才能解决这个问题?
提前谢谢。
所有aws示例都设置为允许所有通信。
我只有一个namenode和一个datanode

nbewdwxp

nbewdwxp1#

您用于hdfs的端口应该可以从外部访问。尝试在本地计算机上运行此命令。

$telnet namenode_public_DNS 9000

并检查是否可以访问hdfs端口。

kzmpq1sx

kzmpq1sx2#

请检查您是否为ec2示例正确配置了安全组。默认情况下,ec2示例的安全组配置将不允许入站流量。通过应用中给出的过程,可以向安全组添加新规则http://docs.aws.amazon.com/awsec2/latest/userguide/using-network-security.html#adding-安全组规则和为端口添加入站流量 9000 (您不需要为出站执行任何操作,因为安全组是有状态的)。

相关问题