我已经在 this tutorial 之后在 AWS EC2 上成功安装了 hadoop 和 spark . 我可以从 AWS 上的 spark 访问 HDFS。
但是,当我尝试通过以下方式从本地计算机访问 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 实例都设置为允许所有流量。
- 我只有 1 个名称节点和 1 个数据节点
最佳答案
您用于 hdfs 的端口应该可以从外部访问。 尝试在您的本地计算机上运行此命令。
$telnet namenode_public_DNS 9000
并检查您是否能够访问您的 hdfs 端口。
关于amazon-web-services - 尝试从本地计算机访问 AWS 上的 HDFS 文件时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43326197/