繁体   English   中英

如何连接到docker中部署的hdfs?

[英]How to connect to hdfs deployed in the docker?

我从这个项目部署了 hadoop 和 spark https://github.com/Marcel-Jan/docker-hadoop-spark
我已经完成了自述文件中的“快速启动 Spark (PySpark)”说明,并从 hdfs 获得了一个数据框

我需要做同样的事情,但通过气流。 我成功连接到 spark master:

spark = (SparkSession
        .builder
        # .master('local')
        .master("spark://127.0.0.1:7077")
        .appName("Test")
        .getOrCreate())

但是当我试图到达 hadoop 集群时,我得到了错误

 Call From SPB-379/127.0.1.1 to namenode:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

我知道气流没有看到地址“namenode”,我尝试执行命令 - docker inspect <hadoop container id>并获取

 "Networks": {
            "docker-hadoop-spark_default": {
                "IPAMConfig": null,
                "Links": null,
                "Aliases": [
                    "namenode",
                    "namenode",
                    "8a06dd5cca57"
                ],
                "NetworkID": "f57164de9f26ef3a1a33c4ee46b24903c0824009ecfeda06f7f45ba9206f6a0a",
                "EndpointID": "6bf662634c9ef925dc435d8a28364b045ef8b572e22f5c5316257ada2a52cc0d",
                "Gateway": "172.19.0.1",
                "IPAddress": "172.19.0.9",
                "IPPrefixLen": 16,
                "IPv6Gateway": "",
                "GlobalIPv6Address": "",
                "GlobalIPv6PrefixLen": 0,
                "MacAddress": "02:42:ac:13:00:09",
                "DriverOpts": null
            }

但是这个ipaddress也报错了。 我不确定这种方式是否正确,我想提供任何反馈:)

错误说namenode:9000无法解析。

自述文件说名称节点使用端口 9870。

这里有一个 Docker 示例,它在 Spark 笔记本上运行良好。

关于气流,您需要确保它也作为容器运行,而不是在您的主机上运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM