我在算法中使用斯坦福 CoreNLP 模型,其中包括服务器的 Java 客户端(StanfordCoreNLPClient),以便通过命令行或其 Web 服务与用 Java 编写的 CoreNLP 进行交互。斯坦福 CoreNLP 因此开发了一个名为 Stanza 的 Python 包,其中包括一个向斯坦福 CoreNLP 服务器发出请求的 API。
该模型在笔记本电脑和我的个人电脑上运行良好。但是,我没有设法在 AWS EMR 集群上安装节,我总是遇到以下我无法处理的错误:
因此,我尝试使用另一个 python 包来使用 Stanford CoreNLP 服务器,而我唯一设法在我的 AWS EMR 上安装的是 PyNLP ( https://github.com/sina-al/pynlp ),它是新浪的斯坦福 CoreNLP 的 Python 包装器。同样,它在笔记本电脑和我的个人计算机上运行良好,但这次我设法将它(pypi 库)安装在 EMR 集群上。但是,每当我实例化一个 StanfordCoreNLP 对象时,我都会收到以下错误:“HTTPConnectionPool(host='127.0.0.1', port=9000): Max retries exceeded with url: /?properties=%7B%22serializer%22%3A+ %22edu.stanford.nlp.pipeline.ProtobufAnnotationSerializer%22%2C+%22outputFormat%22%3A+%22serialized%22%2C+%22annotators%22%3A+%22entitymentions%22%7D(由NewConnectionError('<urllib3.connection.HTTPConnection位于 0x7f6face84110> 的对象:无法建立新连接:[Errno 111] Connection denied'))" ...我真的不明白为什么,尤其是为什么它可以在笔记本上运行,而不是在 AWS EMR 上运行。
有关信息,我可以通过在 AWS EMR 集群上运行的算法连接到互联网,因为我可以使用“请求”模块并执行 requests.get ... 运行良好。
谁能解释我为什么在 AWS EMR 上而不是在笔记本电脑或我的个人计算机上出现此错误?AWS EMR 上的端口是否被阻止?我该怎么做才能让它发挥作用?
提前感谢您的宝贵帮助!!!