获取VS代码Python扩展以连接到远程AWS EMR主节点上运行的Jupyter。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取VS代码Python扩展以连接到远程AWS EMR主节点上运行的Jupyter。相关的知识,希望对你有一定的参考价值。
我有一个运行在EMR主节点上的Jupyter服务器,在那里我可以顺利运行python和pyspark代码。 当我试图让VS Code Python扩展连接到相同的Jupyter服务器时,我得到以下错误。
Failed to connect to remote Jupyter notebook.
Check that the Jupyter Server URI setting has a valid running server specified.
http://***.***.***.***:8888/lab
Error: Invalid response: 405 Method Not Allowed
我在EMR集群上创建了自己的自签证书,方法是: 这些来自IBM的指令. 然后按照以下步骤将证书添加到Chrome浏览器中 堆栈溢出指令 另一个 用户链接到GitHub上.
从EMR主节点的bash终端。
# create key and cert
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem
# combine key and cert
openssl pkcs12 -inkey key.pem -in certificate.pem -export -out certificate.p12
已下载 certificate.p12
到我的本地计算机,然后添加到Chrome浏览器。 chrome://settings/privacy
> 管理证书 > 导入 > 选择并导入。certificate.p12
> 重新启动VS代码。
我仍然得到同样的错误。
- 我是否应该创建一个
key.pem
和certificate.pem
在我的本地,然后合并成一个证书? - 我是否需要使用原来的
.pem
创建EMR集群时发出的密钥?
新版本的Jupyter启动了类似于基于Terminal的程序。lynx
浏览器。
无论我选择哪种终端外壳,在我启动Jupyter之后,输出都是极其混乱的,因为终端 "浏览器 "所查看的 "文档 "与Jupyter服务器的输出混杂在一起。
在所有这些杂音中,我可以使用方向键和 进入 以某种方式 "导航 "到一个点,在终端中的某个地方显示以下内容,并与Jupyter的输出混合在一起(通常高亮显示,但取决于哪个终端程序)。
cookie: username-***-***-***-***-****=2|1:0|10:***********|27:username-***-***-***-***-****|44:***********************************k1ZmE=|****************************1bef31e Allow? (Y/N/Always/neVer)
我输入 A 并按 进入.
有时,有时不是,我会在终端机上短暂地看到以下内容。
Data transfer complete
然后我就可以按... q 并从Jupyter启动的任何终端浏览器的东西中出来,看到正常的Jupyter服务器输出即可。 复制Jupyter服务器的完整网址,粘贴到VS代码Python扩展中去 python.dataScience.jupyterServerURI
.
之后,一切都能如期进行。不需要证书或密钥。
以上是关于获取VS代码Python扩展以连接到远程AWS EMR主节点上运行的Jupyter。的主要内容,如果未能解决你的问题,请参考以下文章
如何设置 SSH 隧道以连接到位于 AWS EC2 服务器上的 ElasticSearch 和 MongoDB?
VS code remote x11 在连接到远程服务器时无法显示