Google Colaboratory - 我可以用它连接到本地服务器吗?

Sha*_*ots 2 elasticsearch google-colaboratory

原谅我的无知;我正在尝试共享一个使用 ElasticSearch 连接到本地实例的 Python 脚本。我无法让它工作,因为我一直看到:

ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

NewConnectionError                        Traceback (most recent call last)
NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f0e60739c50>: Failed to establish a new connection: [Errno 111] Connection refused
Run Code Online (Sandbox Code Playgroud)

我相信这是因为在“Google Colabatory”上运行的脚本是相对于运行 Python 笔记本的位置进行连接的,并且它无法在本地连接到我的 ES 实例。有没有一种好方法可以让脚本通过 Google Colab 在我的本地机器上执行命令?

如果您对失败的确切命令感到好奇,我相信就是这样: es = Elasticsearch(config.get('elasticsearch_url'))

Kor*_*ich 5

这是我在 Colab 上运行 ElasticSearch 的方法

!wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.0-linux-x86_64.tar.gz -q
!tar -xzf elasticsearch-7.0.0-linux-x86_64.tar.gz
!chown -R daemon:daemon elasticsearch-7.0.0
# start server
import os
from subprocess import Popen, PIPE, STDOUT
es_server = Popen(['elasticsearch-7.0.0/bin/elasticsearch'], 
                  stdout=PIPE, stderr=STDOUT,
                  preexec_fn=lambda: os.setuid(1)  # as daemon
                 )
# wait a bit then test
!curl -X GET "localhost:9200/"
Run Code Online (Sandbox Code Playgroud)

我在这个要点中有更多的细节和例子