在本教程之后,我已经成功地在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
2条答案
按热度按时间nbewdwxp1#
您用于hdfs的端口应该可以从外部访问。尝试在本地计算机上运行此命令。
并检查是否可以访问hdfs端口。
kzmpq1sx2#
请检查您是否为ec2示例正确配置了安全组。默认情况下,ec2示例的安全组配置将不允许入站流量。通过应用中给出的过程,可以向安全组添加新规则http://docs.aws.amazon.com/awsec2/latest/userguide/using-network-security.html#adding-安全组规则和为端口添加入站流量
9000
(您不需要为出站执行任何操作,因为安全组是有状态的)。