elasticsearch Google Colaboratory-我可以用它连接到本地服务器吗?,elasticsearch,google-colaboratory,elasticsearch,Google Colaboratory" /> elasticsearch Google Colaboratory-我可以用它连接到本地服务器吗?,elasticsearch,google-colaboratory,elasticsearch,Google Colaboratory" />

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

elasticsearch Google Colaboratory-我可以用它连接到本地服务器吗?,elasticsearch,google-colaboratory,elasticsearch,Google Colaboratory,原谅我的无知;我正在尝试共享一个Python脚本,该脚本使用ElasticSearch连接到本地实例。我无法让它工作,因为我一直看到: ConnectionRefusedError: [Errno 111] Connection refused During handling of the above exception, another exception occurred: NewConnectionError Traceback (most

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

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
ConnectionRefusedError:[Errno 111]连接被拒绝
在处理上述异常期间,发生了另一个异常:
NewConnectionError回溯(最近一次呼叫上次)
NewConnectionError::未能建立新连接:[Errno 111]连接被拒绝
我相信这是因为在“GoogleColaboratory”上运行的脚本是相对于Python笔记本运行的位置连接的,并且它不能在本地连接到我的ES实例。有没有一种好方法可以让脚本通过GoogleColab在本地机器上执行命令

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

默认情况下,Colab上没有本地文件。 由于它基于Jupyter,接口使用的运行时可能连接到本地Jupyter端点。为此,必须安装Jupyter,请参阅


您可能希望尝试名为的Jupyter托管版本。您与谷歌云平台中的其他虚拟机位于同一VPC上。

以下是我在Colab上运行ElasticSearch的方法

!wgethttps://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守护进程:守护进程elasticsearch-7.0.0
#启动服务器
导入操作系统
从子流程导入Popen、PIPE、STDOUT
es_server=Popen(['elasticsearch-7.0.0/bin/elasticsearch'],
标准输出=管道,标准输出=标准输出,
preexec_fn=lambda:os.setuid(1)#作为守护进程
)
#稍等一下,然后测试
!curl-X GET“localhost:9200/”

我在

啊中有更多的细节和例子,我会记住这一点。我想要的是能够在我的本地机器上运行ES,并有一个Python脚本(托管在Google Colab上)连接到它!